本文主要向大家展示“leetcode如何删除字符串中所有相邻的重复项”,简单易懂,条理清晰,希望能帮大家解开疑惑。让边肖带领你学习这篇文章“leetcode如何删除字符串中所有相邻的重复项”。
一、议题内容
给出由小写字母组成的字符串S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。
在 S 上反复执行重复项删除操作,直到无法继续删除。
在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。
示例:
输入:“阿巴卡”
输出:“ca”
解释:
例如,在“abbaca”中,我们可以删除“bb”。因为两个字母相邻且相同,这是此时唯一可以删除的重复项。然后我们得到字符串‘aaca’,其中只有‘aa’可以删除重复项,所以最后一个字符串是‘ca’。
提示:
1=标准长度=20000
s仅由小写英文字母组成。
二、解题思路
用栈做,从左到右遍历,每次存储当前字符,如果当前字符和栈中刚入栈的字符一致,则直接pop剔除,然后再看下一个字符,如此循环,直到遍历结束。
三、代码
分类解决方案:
defremoveDuplicates(self,s 3360 str)-str :
res=[]
forsinS:
ifres Andres[-1]==s 3360
res.pop()
else:
追加资源
返回“”。加入(res)
if__name__=='__main__':
s=解决方案()
S='abbaca '
ans=重复项
Print(ans)这就是文章“leetcode如何删除字符串中所有相邻的重复项”的全部内容。感谢阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/146798.html