使用 Python 删除字符串中所有相邻的重复项
pythonserver side programmingprogramming更新于 2025/11/2 10:20:17
假设我们有一个由小写字母组成的字符串 S;将执行重复项删除操作。这将通过选择两个相邻且相同的字母并将其删除来完成。
我们将反复从 S 中删除重复项,直到没有重复项。
在完成所有此类重复项删除后返回字符串。保证答案是唯一的。
假设字符串为"abbacaca",则答案为"caca"。首先删除重复项bb,则字符串为"aacaca",然后删除aa,则字符串为"caca",则不存在此类重复项。
要解决这个问题,我们将遵循以下步骤−
- 定义一个数组st,并初始化i := 0
- 当i < 字符串长度−
- 如果st有某个元素,且st的最后一个元素=st[i],则将i增加1,并从st中删除最后一个元素
- 否则将string[i]添加到st中,将i增加1
- 最后将st中的所有元素合并为一个字符串并返回
示例
让我们看看下面的实现以便更好地理解 −
class Solution(object):
def removeDuplicates(self, S):
st = []
i = 0
while i < len(S):
if len(st)!=0 and st[-1]==S[i]:
i+=1
st.pop(-1)
else:
st.append(S[i])
i+=1
return "".join(i for i in st)
ob1 = Solution()
print(ob1.removeDuplicates("abbacaca"))
输入
"abbacaca"
输出
"caca"
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

