从 Python 中的给定字符串中删除重复字符的程序
假设我们有一个字符串s。我们必须删除之前已经出现过的所有重复字符。最终的字符串将具有与实际字符串相同的字符顺序。
我们可以通过使用有序字典来维护字符的插入顺序来解决这个问题。该值将是这些字符的频率,但频率值在这里并不重要。形成字典后,我们可以简单地获取键并将它们连接起来以获得字符串。
因此,如果输入类似于s="bbabcaaccdbaabababc",那么输出将是"bacd"。
d:=一个字典,其中键按插入顺序存储
对于s中的每个字符c,执行
d[c]:=0
如果c不存在于d中,则
d[c]:=d[c]+1
按正确的顺序将键一个接一个地连接起来,使输出字符串并返回。
示例
让我们看看以下实现以获得更好的理解-
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"输出结果
"bacd"