import java.util.Deque;
import java.util.LinkedList;
public class VaildParentheses {
//使用栈
public boolean isVaild(String s){
Deque<Character> stack = new LinkedList<>();
//遍历字符串中所有字符,依次判断
for (int i = 0; i < s.length(); i++) {
//获取当前字符
char c = s.charAt(i);
//判断当前字符是左括号还是右括号
//如果是左括号,直接将对应的右括号入栈
if(c=='('){
stack.push(')');
}else if(c=='['){
stack.push(']');
}else if(c=='{'){
stack.push('}');
}else {
//如果是右括号,弹栈,判断是否匹配
if(stack.isEmpty()||stack.pop()!=c){
return false;
}
}
}
return stack.isEmpty();
}
public static void main(String[] args) {
VaildParentheses vaildParentheses = new VaildParentheses();
String s = "()[]{}";
System.out.println(vaildParentheses.isVaild(s));
}
}