1 """
2 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
3 An input string is valid if:
4 Open brackets must be closed by the same type of brackets.
5 Open brackets must be closed in the correct order.
6 Note that an empty string is also considered valid.
7 Example 1:
8 Input: "()"
9 Output: true
10 Example 2:
11 Input: "()[]{}"
12 Output: true
13 Example 3:
14 Input: "(]"
15 Output: false
16 Example 4:
17 Input: "([)]"
18 Output: false
19 Example 5:
20 Input: "{[]}"
21 Output: true
22 """
23 class Solution1(object):
24 def isValid(self, s):
25 stack = []
26 match = {'(': ')', '{': '}', '[': ']'}
27 for i in s:
28 if i == '(' or i == '{' or i == '[':
29 stack.append(i)
30 else:
31 if len(stack) == 0:
32 return False
33 top = stack.pop()
34 if match[top] != i:
35 return False
36 if len(stack) != 0:
37 return False
38 return True