在Python中删除字符串中的所有相邻重复项
假设我们有一个小写字母的字符串S;将执行重复删除操作。这可以通过选择两个相邻且相等的字母并将其删除来完成。
我们将反复从S中删除重复项,直到没有重复项为止。
完成所有这些重复的删除操作后,返回字符串。可以保证答案是唯一的。
假设字符串是“ abbacaca”,则答案将是“ caca”。首先删除副本bb,然后字符串为“ aacaca”,然后删除aa,然后字符串为“ caca”,然后没有此类副本。
为了解决这个问题,我们将遵循以下步骤-
定义一个数组st,并初始化i:= 0
而我<字符串的长度-
如果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中删除字符串中的所有相邻重复项 的全部内容, 来源链接: utcz.com/z/351435.html