The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.
class Solution(object): def isValid(self, s): if len(s) % 2 == 1: return FalseGo through each character, and if they are open characters(open parens, open bracket, open curlies), push it onto a stack.
openparens = [] for i in range(len(s)): if s[i] == '(' or s[i] == '[' or s[i] == '{': openparens.append(s[i])Then, if it is any closing character, pop one off of the stack and make sure it is the opening character is the corresponding type. If everything goes well we will pass through the string nicely and return True.
elif s[i] == ')': if len(openparens) == 0 or openparens.pop() != '(': return False elif s[i] == ']': if len(openparens) == 0 or openparens.pop() != '[': return False else: if len(openparens) == 0 or openparens.pop() != '{': return False return True
0 comments:
Post a Comment