Python算法学习day10: 栈应用(括号匹配问题)

栈的应用–括号匹配问题

括号匹配问题: 给一个字符串, 其中包括小括号, 中括号, 大括号, 求该字符串中的括号是否匹配
例如:
	- (){}[] 匹配
	- ([{}]) 匹配
	- ([)]   不匹配
	- ())    不匹配

代码:

def brace_match(s):
	stack = []
	dic = {'(':')', '{':'}', '[':']'}
	for ch in s:
		if ch in {'(', '{', '['}:
			stack.append(ch)
		elif len(stack) == 0:
			print('多了右括号%s' % ch)
			return False
		elif dic[stack[-1]] == ch:
			stack.pop()	
		else:
			print('括号%s处不匹配' % ch)
			return False
	if len(stack) == 0:
		return True
	else:
		print('剩余左括号未匹配')
		return False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值