LeetCode-1047.删除字符串中的所有相邻重复项

题目详解

相关链接

思路

  • 遍历字符串:
    • 如果当前元素与栈顶元素相同,则进行出栈
    • 如果不相同,则入栈
  • 最后栈里的所有元素就是结果

看完代码随想录之后的想法

  • 思路一致

实现过程中遇到的困难

代码

TypeScript
1
2
3
4
5
6
7
8
function removeDuplicates(s: string): string {
const stack: string[] = []
for (const c of s) {
if (stack.length && stack[stack.length - 1] === c) stack.pop()
else stack.push(c)
}
return stack.join('')
}

时间复杂度:O(n)
空间复杂度:O(n)

收获

-------- 本文结束 感谢阅读 --------
0%