class Solution:
def removeDuplicates(self, S: str) -> str:
if not S:
return ''
stack = []
for i in range(len(S)):
if stack and stack[-1]==S[i]:
stack.pop()
else:
stack.append(S[i])
return ''.join(stack)
- 問題解決のアイデア
- 隣接する繰り返し文字を削除すると、スタックのデータ構造を使用して実行できるためです。
- このトピックは、除去と除去のゲームです。要素をプッシュします。入ってくる要素がスタックの一番上の要素と同じである場合、スタック操作が直接実行され、次の操作ラウンドが実行されます。実行されます。