有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合
class Solution {
public boolean isValid(String s) {
if(s.length()%2==1){
return false;
}
//用栈(先进后出)来实现
ArrayDeque <Character> stack =new ArrayDeque<>();
//toCharArray():是把字符串转化成数组
for(char c : s.toCharArray()){
if(c=='(' || c=='[' || c=='{'){
stack.push(c);
}else{
if(stack.isEmpty()){
return false;
}
char top =stack.pop();
if(c==')' && top!='(') return false;
if(c==']' && top!='[') return false;
if(c=='}' && top!='{') return false;
}
}
return stack.isEmpty();
}
}