栈,括号匹配
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args){
Stack<Character> stack = new Stack<>();
Scanner in = new Scanner(System.in);
String str = in.next();
for(int i=0; i< str.length();i++){
switch (str.charAt(i)){
case '[':
case '(':
case '{':
case '<':
case '(':
case '《':
stack.push(str.charAt(i));
break;
case ']':
case ')':
case '}':
case '>':
case ')':
case '》':
if (str.charAt(i) == '}' && stack.peek() == '{'
||str.charAt(i) == ']' && stack.peek() == '['
||str.charAt(i) == ')' && stack.peek() == '('
||str.charAt(i) == '>' && stack.peek() == '<'
||str.charAt(i) == ')' && stack.peek() == '('
||str.charAt(i) == '》' && stack.peek() == '《'
){
stack.pop();
}
default:break;
}
}
if (stack.empty()){
System.out.println("是");
}else{
System.out.println("不是");
}
}
}