Python程序:去除字符串中重复字符
假设我们有一个字符串s。我们需要移除所有之前已经出现过的重复字符。最终字符串的字符顺序应与原始字符串相同。
我们可以使用有序字典来维护字符的插入顺序。值将是这些字符的频率,但是这里的频率值并不重要。在形成字典之后,我们可以简单地取键并连接它们以获得字符串。
因此,如果输入类似于s = "bbabcaaccdbaabababc",则输出将为"bacd"。
- d := 一个字典,其中键按照其插入顺序存储
- 对于字符串s中的每个字符c,执行以下操作:
- 如果c不存在于d中,则
- d[c] := 0
- d[c] := d[c] + 1
- 如果c不存在于d中,则
- 按正确的顺序将键连接起来以构成输出字符串并返回。
示例
让我们看看下面的实现,以便更好地理解:
from collections import OrderedDict def solve(s): d = OrderedDict() for c in s: if c not in d: d[c] = 0 d[c] += 1 return ''.join(d.keys()) s = "bbabcaaccdbaabababc" print(solve(s))
输入
"bbabcaaccdbaabababc"
Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.
输出
"bacd"
广告