Python程序:去除字符串中重复字符


假设我们有一个字符串s。我们需要移除所有之前已经出现过的重复字符。最终字符串的字符顺序应与原始字符串相同。

我们可以使用有序字典来维护字符的插入顺序。值将是这些字符的频率,但是这里的频率值并不重要。在形成字典之后,我们可以简单地取键并连接它们以获得字符串。

因此,如果输入类似于s = "bbabcaaccdbaabababc",则输出将为"bacd"。

  • d := 一个字典,其中键按照其插入顺序存储
  • 对于字符串s中的每个字符c,执行以下操作:
    • 如果c不存在于d中,则
      • d[c] := 0
    • d[c] := d[c] + 1
  • 按正确的顺序将键连接起来以构成输出字符串并返回。

示例

让我们看看下面的实现,以便更好地理解:

Open Compiler
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"

更新于: 2021年10月12日

8K+ 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告