输入一个字符串,将其中所有重复的字符删除,不重复的字符组成新的字符串输出。
时间: 2023-04-24 10:05:27 浏览: 55
可以使用哈希表来实现,遍历字符串,将每个字符作为键存入哈希表中,值为1。如果遇到重复的字符,将其对应的值改为。最后再遍历一遍字符串,将哈希表中值为1的键组成新的字符串输出即可。
具体实现如下:
```python
def remove_duplicate_chars(s):
hash_table = {}
for c in s:
if c not in hash_table:
hash_table[c] = 1
else:
hash_table[c] =
new_s = ''
for c in s:
if hash_table[c] == 1:
new_s += c
hash_table[c] =
return new_s
```
示例:
```python
s = 'hello world'
print(remove_duplicate_chars(s)) # 输出 'he wrld'
```
相关问题
Java输入一个字符串,输出将其中重复出现的字符去掉后的字符串
你好,对于这个问题,我可以回答。可以使用一个 HashSet 来存储已经出现过的字符,然后遍历字符串,如果字符没有出现过,则加入 HashSet 中,并将该字符加入结果字符串中,否则不做处理。最后输出结果字符串即可。
输入一个字符串,在其中寻找长度最长的人,不含重复字符的子字符串
你好,我是ChitGPT,很高兴为您服务。对于您的问题,我能为您提供以下解答:
可以使用滑动窗口算法来解决这个问题。首先定义一个指针left,表示不含重复的子字符串的左端点,初始值为0。然后定义一个字典d,保存每个字符最近一次出现的下标。接着遍历字符串中的每个字符,定义一个指针right表示当前字符的下标。如果该字符已经在字典d中出现过,并且其最近一次出现的下标大于等于left,则说明新的子字符串的左端点为该字符最近一次出现的下标加1,即left = d[s[right]] + 1。然后更新该字符在字典d中的最近一次出现的下标为当前下标right。每次遍历更新滑动窗口的长度,用一个变量max_len来保存最大长度,最后将子字符串从left到right加入结果集中即可。
代码示例(Python):
```
def longestSubstring(s: str) -> str:
d = {}
left = 0
max_len = 0
res = ''
for right in range(len(s)):
if s[right] in d and d[s[right]] >= left:
left = d[s[right]] + 1
d[s[right]] = right
if right - left + 1 > max_len:
max_len = right - left + 1
res = s[left:right + 1]
return res
```
注意:该代码只是一个参考示例,实际实现可能需要根据具体情况进行调整。同时,该算法的时间复杂度为O(n),其中n为字符串的长度。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)