import java.util.*;
public class Solution {
public boolean isValid (String s) {
// write code here
if(s.length()<2){
return false;
}
//遍历字符串遇到左括号等等将它对应的右括号加入栈,遇到右括号
// 判断是否是一致是的话出栈
Stack<Character> stack1 = new Stack();
for(int i=0;i<s.length();i++){
if(s.charAt(i)=='('){
stack1.add(')');
}else if(s.charAt(i)=='{') {
stack1.add('}');
}else if(s.charAt(i)=='['){
stack1.add(']');
}else if(!stack1.empty()&&s.charAt(i)==stack1.peek()){
//当不为空并且遇到右括号时判断栈顶元素是否相同
// 相同弹出即可
stack1.pop();
}else if(stack1.empty()){
//如果此时栈为空且没有遇到左边的说明不符和
return false;
}
}
// 最后判断栈是否为空
if(stack1.empty()){
return true;
}else{
return false;
}
}
}