3_11合法括号序列判断

对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。

给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串。

测试样例:
输入:"(()())",6
返回:true
输入:测试样例:
输入:"()a()()",7
返回:false
测试样例:
输入:"()(()()",7
返回:false

class Parenthesis {
public:
    bool chkParenthesis(string A, int n) {
        // write code here
        int num = 0, idx = 0;
        while(idx < n){
            switch(A[idx]){
                case '(':
                    ++num;
                    break;
                case ')':
                    if(--num<0){return false;}
                    break;
                default:
                    if(0 == A[idx]){
                        return false;
                    }
                    break;
            }
            ++idx;
        }
        return 0 == num ? true : false;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,461评论 0 4
  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 10,814评论 0 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,464评论 19 139
  • About Ping++ Ping++ makes payments easily accessible for ...
    Cellier阅读 2,981评论 0 2
  • 敏锐,还认得我说过:"你替老姐读大学了,姐为你自豪!"吗?一直来我在这家里盼望我们四个中最少要有一个出人头地,那时...
    Mr_思凡阅读 1,755评论 0 0