Valid Parentheses
Given a string s
containing just the characters '('
, ')'
, '{'
, '}'
, '['
and ']'
, determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
Example 1:
Input: s = "()" Output: true
Example 2:
Input: s = "()[]{}" Output: true
Example 3:
Input: s = "(]" Output: false
Constraints:
1 <= s.length <= 104
s
consists of parentheses only'()[]{}'
.
class Solution:
def isValid(self, s: str) -> bool:
self.stack = []
opening = {'(': ")", '{': "}", '[':"]"}
for bracket in s:
if bracket in opening.keys():
self.stack.append(bracket)
else:
if self.stack:
saved = self.stack.pop()
if opening[saved] == bracket:
continue
else:
return False
else:
return False
return len(self.stack) == 0