表达式的合法判断

该博客讨论了如何判断包含'{', '[', '(', ')', ']', '}'的表达式是否合法,主要通过分析测试用例确定只需关注括号的配对而非类型。博主建议使用栈作为解决方案,并提供了一个简化版的方法,通过计数器来替代栈,以实现括号匹配的判断。" 126531067,8753399,JavaScript:半正弦公式计算两点距离算法实践,"['javascript', '前端开发', '算法', '数据结构']
摘要由CSDN通过智能技术生成

题目:

表达式合法判断

写一段代码,判断一个包括’{‘,’[‘,’(‘,’)’,’]’,’}’的表达式是否合法(注意看样例的合法规则。)
给定一个表达式A,请返回一个bool值,代表它是否合法。 测试样例: “[a+b*(5-4)]{x+b+b({1+2)}}”
返回:true 测试样例: “[a+b*(5-4)]{x+b+b(({1+2)}}” 返回:false

分析:

1、通过用例可以判断出,不用纠结三种括号的对应,只要求正括号和反括号对应即可。

2、用栈来解决这个问题非常适合。

//      int *array = new int[n];//设立一个栈
        int top = 0;//栈顶指针
        ……      
            else if (c == 1){
  //当找到正括号时
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值