見出し画像

20. Valid Parentheses

class Solution:
   def isValid(self, s):
       brackets = ['(', ')',' ', '{', '}', ' ', '[' , ']']
       
       s = list(s)
       stack = []
       stack.append(s[0])

       for i in range(1, len(s)):
           # stack.append(s[i])
           if len(stack) != 0 and (brackets.index(s[i]) is brackets.index(stack[-1]) + 1):
               stack.pop()
           else:
               stack.append(s[i])
       
       if len(stack) == 0:
           return True
       else:
           return False

simplified

class Solution:
   def isValid(self, s):
       d = {")": "(", "]": "[", "}": "{"}
       q = [None]
       for i in s:
           if i in d and d[i] == q[-1]:
               q.pop()
           else:
               q.append(i)
       return len(q)==1

この記事が気に入ったらサポートをしてみませんか?