Leetcode 1047. Remove All Adjacent Duplicates In String

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

1. Description

Remove All Adjacent Duplicates In String

2. Solution

解析:Version 1,最先想到的方法,使用数据结构栈,可以解决这个问题,时间复杂度O(N)。字符每次入栈之前都与栈顶元素进行比较,如果相同,则栈顶元素出栈,继续下一个字符,不同则入栈。

  • Version 1
1
2
3
4
5
6
7
8
9
class Solution:
def removeDuplicates(self, s: str) -> str:
res = []
for ch in s:
if res and ch == res[-1]:
res.pop()
else:
res.append(ch)
return ''.join(res)

Reference

  1. https://leetcode.com/problems/remove-all-adjacent-duplicates-in-string/
如果有收获,可以请我喝杯咖啡!