import java.util.*;
public class Parenthesis {
public boolean chkParenthesis(String A, int n) {
/** //方法一。用count来计数
if(n % 2 == 1) {
return false;
}
int count = 0;
for(int i = 0; i < n; i++){
if (A.charAt(i) == '(') {
count++;
} else if(A.charAt(i) == ')') {
if(count < 0) {
return false;
}
count--;
} else {
count = -1;
break;
}
}
if(count == 0) {
return true;
} else {
return false;
}
*/
//方法二:用栈来储存
if(n % 2 == 1) {
return false;
}
Stack<Character> stack = new Stack();
for(char ch: A.toCharArray()){
if (ch == '(') {
stack.push(ch);
} else if(ch == ')') {
if(stack.isEmpty()){
return false;
} else if(stack.peek() == '(') {
stack.pop();
}
} else {
return false;
}
}
return stack.isEmpty();
}
}