我感觉这个问题是需要用栈来解决的
//构建一个字符串,其中只有{}[]()六种字符
//构建一个函数,看输出的字符串中括号是否匹配,匹配的返回true,不匹配返回false
import java.util.Stack;
public class StackQueueInterview {
public static boolean isValid(String s){
if(s.isEmpty()) {
return true;
}
Stack<Character> stack = new Stack<>();
for (int i = 0; i < s.length(); i++) {
char x = s.charAt(i);
if(x == '(' || x == '{' || x == '[') {
stack.push(x);
continue;
}
if(stack.empty()) {
return false;
}
Character y = stack.pop();
if(y == '(' && x == ')') {
continue;
}
if(y == '[' && x== ']') {
continue;
}if(y == '{' && x== '}') {
continue;
}
return false;
}
return true;
}
public static void main(String[] args) {
//构建一个字符串,其中只有{}[]()六种字符
//构建一个函数,看输出的字符串中括号是否匹配
String s = "{{{{}}}}";
String x = "{(})";
String y = "{()}";
System.out.println(isValid(s));
System.out.println(isValid(x));
System.out.println(isValid(y));
}
}