美文网首页
3_11合法括号序列判断

3_11合法括号序列判断

作者: X_Y | 来源:发表于2017-09-08 17:00 被阅读35次

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

给定一个字符串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;
    }
};

相关文章

网友评论

      本文标题:3_11合法括号序列判断

      本文链接:https://www.haomeiwen.com/subject/kchnjxtx.html