-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path020_valParenthesis.py
49 lines (35 loc) · 1.01 KB
/
020_valParenthesis.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
def isValid(s):
dict_pare = {'{':'}', '[':']', '(':')'}
l_s = []
n = len(s)
for i in range(0, n):
if s[i] in dict_pare:
l_s.append(dict_pare[s[i]])
elif l_s and l_s[-1] == s[i]:
l_s.pop()
else:
return False
return l_s == []
def isValid_demo(s):
bracket_map = {"(": ")", "[": "]", "{": "}"}
open_par = set(["(", "[", "{"])
stack = []
for i in s:
print(i)
if i in open_par:
stack.append(i)
elif stack and i == bracket_map[stack[-1]]:
stack.pop()
else:
return False
return stack == []
print(isValid_demo("()[]{{}}")) #T
print(isValid("{[]}")) #T
print(isValid("([)]")) #F
print(isValid("(]")) #F
print(isValid("()[]{{}}")) #T
print(isValid("[")) #F
print(isValid("((")) #F
print(isValid("){")) #F
print(isValid("(){}}{")) #F
print(isValid("(])")) #F