牛客网-检查括号匹配是否合法 Python

算法的基本思想
1.凡出现左括弧,则进栈;
2.凡出现右括弧,首先检查栈是否空
     若栈空,则表明该“右括弧”多余
     否则和栈顶元素比较,
        若相匹配,则“左括弧出栈”
        否则表明不匹配。
3.表达式检验结束时
     若栈空,则表明表达式中匹配正确,
     否则表明“左括弧”有余
string = list(input())
temp = []
check = "true"
for i in range(len(string)):
    if(string[i]=='(' or string[i]=='[' or string[i]=='{'):
        temp.append(string[i])
    else:
        if(len(temp)==0):
            check = "false"
            break
        else:
            if(string[i]==')'):
                if(temp.pop()!='('):
                    check = "false"
                    break
            elif(string[i]==']'):
                if(temp.pop()!='['):
                    check = "false"
                    break
            else:
                if(temp.pop()!='{'):
                    check = "false"
                    break
if(len(temp)!=0):
    check = "false"
print(check)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值