风云2电视剧下载,青春日记吉他谱,柯南灰原哀h
给定一个只包括 '('
,')'
,'{'
,'}'
,'['
,']'
的字符串,判断字符串是否有效。
有效字符串需满足:
注意空字符串可被认为是有效字符串。
示例 1:
输入: "()" 输出: true
示例 2:
输入: "()[]{}" 输出: true
示例 3:
输入: "(]" 输出: false
示例 4:
输入: "([)]" 输出: false
示例 5:
输入: "{[]}" 输出: true
class solution: def isvalid(self, s): stack = [] flag = 1 if(len(s)%2!=0): #如果长度为奇数则一定没有匹配成功 flag = 0 else: for i in range(len(s)): if s[i] == "(" or s[i] == "[" or s[i] == "{": stack.append(s[i]) continue if stack: a = stack[len(stack)-1] #取栈顶元素 if s[i] == ")": #如果括号可以匹配成功,则相应的左括号右括号的位置是相对的,所以可以取出栈顶元素进行比较 if a != "(": flag = 0 stack.pop() elif s[i] == '}': if a != "{": flag = 0 stack.pop() elif s[i] == "]": if a != "[": flag = 0 stack.pop() if stack != []: #如果扫描过一遍仍有元素在栈内,说明有的括号没有匹配到,则没有匹配成功 flag = 0 if flag == 1: return true else: return false
这个代码还没有bugfree,有时间我会改进的~~,欢迎大家指出我的错误和不足之处~~~一起加油~
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python 实现将numpy中的nan和inf,nan替换成对应的均值
python爬虫把url链接编码成gbk2312格式过程解析
网友评论