您的位置:首页 > 编程语言 > Python开发

LeetCode-20-Valid-Parentheses 栈 水题 Python 列表删除操作

2017-09-10 17:26 453 查看
判断括号合法性,用个栈就行了

Python里List 的pop,remove,del用法:

a.pop()直接pop最后一个,x=a.pop(3)是pop下标为3的数,同时返回这个数x

a.remove(3)是去掉第一个值为3的node

del a[3]就是删除下标为3的数,这里也可以删除一个区间a[1,3]

class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
Len=len(s)
a=0
b=0
c=0
stack=[]
cnt=0
if Len<=1:return False
for i in range(Len):
if s[i]==']':
if cnt>0 and stack[cnt-1]=='[':
#stack.pop()
del stack[cnt-1]
cnt-=1
else: return False
elif s[i]=='}':
if cnt>0 and stack[cnt-1]=='{':
stack.pop()
cnt-=1
else: return False
elif s[i]==')':
if cnt>0 and stack[cnt-1]=='(':
stack.pop()
cnt-=1
else: return False
elif s[i]=='[' or s[i]=='{' or s[i]=='(':
stack.append(s[i])
cnt+=1
if cnt!=0 : return False
return True
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: