3月-1047。文字列内の隣接するすべての重複を削除します

 

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)
  • 問題解決のアイデア
    • 隣接する繰り返し文字を削除すると、スタックのデータ構造を使用して実行できるためです。
    • このトピックは、除去と除去のゲームです。要素をプッシュします。入ってくる要素がスタックの一番上の要素と同じである場合、スタック操作が直接実行され、次の操作ラウンドが実行されます。実行されます。

おすすめ

転載: blog.csdn.net/weixin_37724529/article/details/114576209