import java.util.*;
public class Parenthesis {
public boolean chkParenthesis(String A, int n) {
if(n%2!=0){
return false; //奇数的情况
}
Stack<Character> stack=new Stack<>(); //栈
for(int i=0;i<A.length();i++){ //遍历字符串
char s=A.charAt(i);//拿到的字符
if(s=='('){ //左括号,则添加
stack.push(s);
}else if(s==')'){ //遇到右括号则出栈,但是在出栈前要考虑栈是不是有元素
if(stack.isEmpty()){ //栈为空非法 --->右括号先于左括号出现导致栈为空
return false;
}
stack.pop();//正常情况下,出栈
}else{ //遇到不是( ) 的情况,则代表出现了字母,非法
return false;
}
}
return stack.isEmpty(); //最后只要返回栈是否为空即可,为空,则代表全部抵消,不为空,则代表有多余
}
}

