栈实现有效的括号–python
- 题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效
- 如果长度是奇数直接返回0
- 思想: 将列表当成一个栈 当遇到 ( { [ 时 进栈 当遇到 ) ] }时出栈 并与 栈中的顶元素做对比 看看是否匹对(利用字典思想) 如果匹对则弹出元素 继续下一轮匹配
4.如果匹配失败则返回0 如果最后列表为空则返回1
代码:
# 栈操作实现有效的括号
s= '([)]'
dic={')':'(','}':'{',']':'['}
list=[]
for i in s:
if i in dic.keys():
if ((len(list)==0) or (list[-1]!= dic[i])):
print('匹配失败')
break
list.pop()
else:
list.append(i)
print(list)
栈实现有效的括号–C语言
有时间会补上
来源:leetcode题目平台