题目链接:LeeCode20有效的括号
题目描述:
用栈存左括号,碰见右括号判断是不是最内侧括号的回括号
class Solution {
public boolean isValid(String s) {
boolean ans=true;
Stack<Character> stack=new Stack<>();
for (int i = 0; i < s.length(); i++) {
if(s.charAt(i)=='('||s.charAt(i)=='{'||s.charAt(i)=='['){
stack.add(s.charAt(i));
}else{
//还没有左括号就直接进右括号直接错
if(stack.empty())return false;
if(s.charAt(i)==')'&&stack.pop()!='(') ans=false;
if(s.charAt(i)==']'&&stack.pop()!='[') ans=false;
if(s.charAt(i)=='}'&&stack.pop()!='{') ans=false;
}
}
if(!stack.empty()){
ans=false;
}return ans;
}
}