用 Python 编写一个程序,从给定的字符串中删除重复的字符

pythonserver side programmingprogramming更新于 2025/12/23 14:36:17

假设我们有一个字符串 s。我们必须删除所有之前已经出现过的重复字符。最终字符串的字符顺序将与实际字符串相同。

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

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

  • d := 一个字典,其中键按其插入顺序存储
  • 对于 s 中的每个字符 c,执行
    • 如果 c 不在 d 中,则
      • d[c] := 0
    • 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"

相关文章


有用资源