一个字符串包含若干(){}[],判断这个字符串是否合法,使用栈。
public boolean isTue(String s){
Stack<String> stack=new Stack<String>();
while (!s.isEmpty()) {
String string=s.substring(0, 1);
s=s.substring(1);
if (string.equals("(")||string.equals("{")||string.equals("[")) {
stack.push(string);
}else if(string.equals(")")||string.equals("}")||string.equals("]")){
if (stack.isEmpty()) {
return false;
}
String string2=stack.pop();
if (string.equals(")")) {
if (string2.equals("(")) {
return true;
}
}
if (string.equals("}")) {
if (string2.equals("{")) {
return true;
}
}
if (string.equals("]")) {
if (string2.equals("[")) {
return true;
}
}
}
}
return stack.isEmpty();
}