把做括号视为1,有括号视为-1,在字符串的遍历过程中保证前缀和为非负
同时反向做一遍,但是此时右括号为1,左括号为-1,保证前缀和为非负
class Parenthesis {
public:
bool chkParenthesis(string A, int n) {
int x = 0;
for(auto c: A){
if(c=='(') x++;
else if(c==')') x--;
if(x < 0) return false;
}
x = 0;
for(int i = A.size()-1; i>=0; i--){
if(A[i]==')') x++;
else if(A[i]=='(') x--;
if(x < 0) return false;
}
return true;
}
};