牛客网的一道题! 对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串! 会给定一个字符串A和它的长度n,让你返回bool值判断它是否为一个合法的括号串。 大致思路:你可以先判断部分一定不是合法括号串的情况,如果,字符串的长度n为奇数,则不论怎么匹配,都不会是合法的括号串,可以首先判断这种情况。剩下的情况就是字符串长度为偶数的情况下,若其中都是括号且左括号数等于右括号数则为合法的括号串。(用栈的方法解决也非常快滴,这里不说。解决的方法有很多:>) 代码如下:
class Parenthesis { public: bool chkParenthesis(string A, int n) { int count=0; if(A.size()%2==1) return false; for(int i=0;i<A.size();i++) { if(A[i]!='('&&A[i]!=')') return false; if(A[i]=='(') count++; if(A[i]==')') count--; } if(count==0) return true; return false; // write code here } }; 小白一只,如果有错误的地方,欢迎指出:>