3_11合法括号序列判断

2017-09-08  本文已影响35人  X_Y

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

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

猜你喜欢

热点阅读