牛客网的一道题!
对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串!
会给定一个字符串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
}
};
小白一只,如果有错误的地方,欢迎指出:>