一 题目描述
给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)。
测试样例:
"(()())",6
返回:true
测试样例:
"()a()()",7
返回:false
测试样例:
"()(()()",7
返回:false
二 题解
class Parenthesis {
public:
bool chkParenthesis(string A, int n) {
// write code here
stack<char> mystack;
for(int i=0; i<A.size(); i++){
if(A[i] == '('){
mystack.push(A[i]);
}
else if(A[i] == ')'){
if(mystack.empty()) return false;//执行pop之前确保栈不空
mystack.pop();
}
}
if(mystack.empty()) return true;
else return false;
}
};