feat(0020_valid-parentheses): add py3 soln
This commit is contained in:
30
0020_valid-parentheses/python3/solution.py
Normal file
30
0020_valid-parentheses/python3/solution.py
Normal file
@@ -0,0 +1,30 @@
|
||||
from collections import deque
|
||||
|
||||
class Solution:
|
||||
bracket_pairing = {
|
||||
'{': '}',
|
||||
'[': ']',
|
||||
'(': ')'
|
||||
}
|
||||
|
||||
closing_brackets = tuple(bracket_pairing.values())
|
||||
|
||||
def is_matching_pair(self, opening, closing):
|
||||
return self.bracket_pairing[opening] == closing
|
||||
|
||||
def isValid(self, s: str) -> bool:
|
||||
stack = deque()
|
||||
|
||||
for c in s:
|
||||
if c in self.closing_brackets:
|
||||
try:
|
||||
last_char = stack.pop()
|
||||
except IndexError:
|
||||
return False
|
||||
|
||||
if not self.is_matching_pair(last_char, c):
|
||||
return False
|
||||
else:
|
||||
stack.append(c)
|
||||
|
||||
return len(stack) == 0
|
||||
Reference in New Issue
Block a user