update 20
This commit is contained in:
parent
a4e2623dbf
commit
579e90ba94
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
class Solution:
|
class Solution:
|
||||||
def isValid(self, s: str) -> bool:
|
def isValid(self, s: str) -> bool:
|
||||||
|
"""
|
||||||
|
# too slow
|
||||||
symbol_dict = {"(": ")", "{": "}", "[": "]"}
|
symbol_dict = {"(": ")", "{": "}", "[": "]"}
|
||||||
stack = []
|
stack = []
|
||||||
for i in s:
|
for i in s:
|
||||||
@ -16,8 +18,8 @@ class Solution:
|
|||||||
try:
|
try:
|
||||||
if symbol_dict[stack_top] == i:
|
if symbol_dict[stack_top] == i:
|
||||||
continue
|
continue
|
||||||
else:
|
|
||||||
stack.append(stack_top)
|
stack.append(stack_top)
|
||||||
|
|
||||||
except KeyError:
|
except KeyError:
|
||||||
return False
|
return False
|
||||||
@ -28,3 +30,20 @@ class Solution:
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Optimized solution
|
||||||
|
bracket_map = {")": "(", "}": "{", "]": "["}
|
||||||
|
stack = []
|
||||||
|
|
||||||
|
for char in s:
|
||||||
|
if char in bracket_map:
|
||||||
|
top_element = stack.pop() if stack else "#"
|
||||||
|
|
||||||
|
if bracket_map[char] != top_element:
|
||||||
|
return False
|
||||||
|
|
||||||
|
else:
|
||||||
|
stack.append(char)
|
||||||
|
|
||||||
|
return not stack
|
||||||
|
Loading…
x
Reference in New Issue
Block a user