1 题目
链接:有效字符
考察点:栈
import java.util.Scanner;
import java.util.*;
public class Solution {
public static boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
for (int i = 0; i < s.length(); i++){
char ch = s.charAt(i);
if(ch == '(' || ch == '[' || ch == '{'){
stack.push(ch);
}else{
if(stack.isEmpty()){
return false;
}
char topChar = stack.pop();
if(ch == ')' && topChar != '('){
return false;
}else if(ch == ']' && topChar != '['){
return false;
}else if(ch == '}' && topChar != '{'){
return false;
}
}
}
return stack.isEmpty();
}
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String s = input.nextLine();
System.out.println(isValid(s));
}
}