[Leetcode] 0020. 有効な括弧

Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク


文字列を与える s 文字だけを含む '('')''{''}''[' そして ']'入力文字列が有効かどうかを判断します。

入力文字列は次の場合に有効です。

  1. 開いた括弧は同じ種類の括弧で閉じる必要があります。
  2. 開いた括弧は正しい順序で閉じる必要があります。
  3. すべての閉じ括弧には、同じタイプの対応する開き括弧があります。

 

例 1:

入力: s = "()"
出力: 真実

例 2:

入力: s = "()[]{}"
出力: 真実

例 3:

入力: s = "(]"
出力: 間違い

 

制約:

  • 1 <= s.length <= 10 4
  • s 括弧のみで構成されている '()[]{}'.

パイソン

				
					# 時間計算量: O(n) # 空間計算量: O(n) クラス ソリューション: def isValid(self, s: str) -> bool: bracketMap = {"(": ")", "[": "]", "{": "}"} openSet = set(["(", "[", "{"]) stack = [] for char in s: if char in openSet: stack.append(char) elif stack and char == bracketMap[stack[-1]]: stack.pop() else: return False return stack == [] Input = "(())" print(Solution().isValid(Input))
				
			
ja日本語