括号匹配-java
import java.util.*;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
// ArrayStack<Integer> stack =new ArrayStack<>();
// for(int i=0;i<5;i++) {
// stack.push(i);
// System.out.println(stack);
// }
// stack.pop();
// System.out.println(stack);
Scanner in=new Scanner(System.in);
String s=in.next();
int f=1;
Stack<Character> stack =new Stack<>();
for(int i=0;i<s.length();i++) {
char c=s.charAt(i);
if(c=='('||c=='['||c=='{') {
stack.push(c);
}else {
if(stack.isEmpty()) {
f=0;
System.out.println("false");
break;
}
char topchar=stack.pop();
if(c==')'&&topchar!='(') {
f=0;
System.out.println("false");
break;
}
if(c==']'&&topchar!='[') {
f=0;
System.out.println("false");
break;
}
if(c=='}'&&topchar!='{') {
f=0;
System.out.println("false");
break;
}
}
}
if(f==1) {
System.out.println(stack.isEmpty());
}
}
}