给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
示例 1:
输入: "()"
输出: true
示例 2:
输入: "()[]{}"
输出: true
示例 3:
输入: "(]"
输出: false
示例 4:
输入: "([)]"
输出: false
示例 5:
输入: "{[]}"
输出: true
class Solution {
public boolean isValid(String s) {
if(s.length()<1){
return true;
}
boolean flag = true;
Stack 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.size()<1){
flag = false;
break;
}
char pop = stack.pop();
if(pop=='('&&s.charAt(i)==')'){
continue;
}else if(pop=='{'&&s.charAt(i)=='}'){
continue;
}else if(pop=='['&&s.charAt(i)==']'){
continue;
}else{
flag =false;
break;
}
}
}
if(flag&&stack.size()==0){
return true;
}
return false;
}
}