第二种解法:使用HashMap简化代码
//使用hashMap将括号存入map中。key为右括号,value为左括号
Map pairs = new HashMap() {
{
put(')','(');
put(']','[');
put(']','[');
}
};
//初始化栈
Deque stack = new LinkedList();
for(int i = 0;i < n;i++)
{
char ch = s.charAt(i);
if(pairs.containsKey(ch)) {
if(stack.isEmpty() || stack.peek() != pairs.get(ch))
{
return false;
}
stack.pop();
}else {
stack.push(ch);
}
}
return stack.isEmpty();
}
想养一只猫。
浙公网安备 33010602011771号