I'm often confused by the index of counter🙄
class Solution:
def isValid(self, s: str) -> bool:
len_s = len(s)
if len_s == 0:
return True
elif len_s < 2:
return False
close_parentheses = {'(': ')', '{': '}', '[': ']'}
# @note: it's faster to start with i = 1, but i = 0 and check i + 1 is easier to understand.
i = 0
while (i + 1) < len_s:
c = s[i]
if (c == '(' or c == '{' or c == '[') and s[i + 1] == close_parentheses[c]:
len_s -= 2
if 0 < len_s:
s = s[0:i] + s[i + 2:]
i -= 1
continue
i += 1
return len_s == 0
Top comments (0)