题目描述
给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列。
括号必须以正确的顺序关闭,"()"和"()[]{}"都是合法的括号序列,但"(]"和"([)]"不合法。
示例
输入:"["
输出:false
输入:"([)]"
输出:false
参考解法
import java.util.Stack;
public class Test {
public static boolean isOK(String s) {
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < s.length(); i++) {
char temp = s.charAt(i);
if (temp == '(')
stack.push(')');
else if (temp == '[')
stack.push(']');
else if (temp == '{')
stack.push('}');
else if(temp!=stack.pop())
return false;
else if(stack.isEmpty())
return false;
}
return stack.isEmpty();
}
}