有效括号序列
给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列 括号必须以正确的顺序关闭,"()"和"()[]{}"都是合法的括号序列,但"(]"和"([)]"不合法。
数据范围:字符串长度 0≤n≤10000 要求:空间复杂度 O(n),时间复杂度 O(n)
python没有栈,所以我用数组,当([{时,存入,当字符为)]}时取出,题目不难
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param s string字符串
# @return bool布尔型
#
class Solution:
def isValid(self , s: str) -> bool:
# write code here
stri = ''
if len(s)%2 == 1:
return False
for c in s:
if (c == '(') | (c == '[') | (c == '{'):
stri += c
elif (c == ')') | (c == ']') | (c == '}'):
if len(stri) == 0:
return False
if (c == ')') & (stri[len(stri)-1] != '('):
return False
if (c == ']') & (stri[len(stri)-1] != '['):
return False
if (c == '}') & (stri[len(stri)-1] != '{'):
return False
stri = stri[:-1]
if len(stri) != 0:
return False
return True