leetcode如何删除字符串中的所有相邻重复项
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要为大家展示了"leetcode如何删除字符串中的所有相邻重复项",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"leetcode如何删除字符串中的
千家信息网最后更新 2026年11月04日leetcode如何删除字符串中的所有相邻重复项
这篇文章主要为大家展示了"leetcode如何删除字符串中的所有相邻重复项",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"leetcode如何删除字符串中的所有相邻重复项"这篇文章吧。
一、题目内容
给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。
在 S 上反复执行重复项删除操作,直到无法继续删除。
在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。
示例:
输入:"abbaca"
输出:"ca"
解释:
例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。
提示:
1 <= S.length <= 20000
S 仅由小写英文字母组成。
二、解题思路
用栈做,从左到右遍历,每次存储当前字符,如果当前字符和栈中刚入栈的字符一致,则直接pop剔除,然后再看下一个字符,如此循环,直到遍历结束。
三、代码
class Solution: def removeDuplicates(self, S: str) -> str: res = [] for s in S: if res and res[-1] == s: res.pop() else: res.append(s) return "".join(res)if __name__ == '__main__': s = Solution() S = "abbaca" ans = s.removeDuplicates(S) print(ans)
以上是"leetcode如何删除字符串中的所有相邻重复项"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
字符
字符串
内容
字母
篇文章
相同
小写
学习
帮助
一致
两个
代码
只有
思路
易懂
更多
条理
知识
示例
答案
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
花魁咖啡
保险科技 互联网保险
互联网科技工作委员会
互联网金融公司科技
世界互联网领先科技成果
远拓互联网科技
山东吉时兔互联网科技有限公司
互联网汽车科技小镇
中化能源互联网科技招聘
互联网科技和信息
畅思互联网科技
高科技互联网发展前景如何
朱啸虎曾投资哪些互联网科技企业
互联网科技如何创业
广州燕处互联网科技有限公司
万物互联网智能科技
北京天晋互联网科技有限公司
悟空问答互联网科技
青岛易易互联网科技
科技互联网企业在行动
华服互联网科技靠谱吗
互联网科技有限公司经营范围
互联网品科技
互联网与科技发展
齐家互联网科技
贷财互联网科技
上海致骋互联网科技
坤平互联网科技
互联网科技和医药行业
华人运通互联网科技公司