输入字符串去重后按照顺序输出
时间: 2023-03-31 17:00:31 浏览: 102
可以使用哈希表来实现字符串去重,具体步骤如下:
1. 定义一个哈希表,用于存储每个字符是否出现过。
2. 遍历字符串中的每个字符,如果该字符没有出现过,则将其标记为出现过,并将其加入结果字符串中。
3. 最后输出结果字符串即可。
以下是示例代码:
```
#include <iostream>
#include <unordered_set>
using namespace std;
string removeDuplicates(string s) {
unordered_set<char> seen;
string res = "";
for (char c : s) {
if (!seen.count(c)) {
seen.insert(c);
res += c;
}
}
return res;
}
int main() {
string s = "abcaabbcc";
string res = removeDuplicates(s);
cout << res << endl; // 输出 "abc"
return ;
}
```
相关问题
7-1 字符串去重后输出,输入一个字符串,字符串之间用空格分隔,将其去重后按照原字符串顺序输出,输出格式:以列表的形式输出去重后的字符串。
可以使用Python中的set()函数快速去重,再根据原字符串顺序进行输出。具体代码如下:
```python
string = input("请输入字符串:")
lst = string.split() # 将字符串按照空格分割成列表
unique_lst = list(set(lst)) # 利用set()函数进行去重,并转换回列表
result = [] # 存储按原字符串顺序排列后的结果
for s in lst:
if s in unique_lst:
result.append(s)
unique_lst.remove(s) # 避免重复添加
print(result)
```
例如,输入字符串"hello world hello python world",则输出结果为:['hello', 'world', 'python']
Java实现从键盘输入一个字符串,去重后按字符输出
好的,我可以帮你解决这个问题。以下是Java的代码示例:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
char[] chars = input.toCharArray();
Set<Character> set = new HashSet<>();
for (char c : chars) {
set.add(c);
}
for (char c : set) {
System.out.print(c);
}
}
}
```
这段代码的作用是从键盘输入一个字符串,然后将字符串中的字符去重后按照字符顺序输出。具体来说,它首先使用Scanner类从标准输入流中读取一行字符串,然后使用toCharArray()方法将字符串转换为字符数组。接着,它创建一个HashSet集合,遍历字符数组并将其中的每个字符存入集合中,这样就去除了重复的字符。最后,它再次遍历集合中的每个字符并按照字符顺序输出。
阅读全文