Leetcode原题链接:删除字符串中的所有相邻重复项
一、使用栈的思路
- 创建空栈(其实就是列表)。
- 遍历字符串,如果与栈顶元素相同,
pop
出栈顶元素,如果不同,push
到栈里。
二、代码
class Solution:
def removeDuplicates(self, s: str) -> str:
stack = []
s = list(s)
for i in range(len(s)):
if stack and s[i] == stack[-1]:
stack.pop()
else:
stack.append(s[i])
return ''.join(stack)
三、总结
- 合理利用栈的思想,实际用列表直接实现就好。
部分内容参考代码随想录