栈
📌 20. 有效的括号
栈,先进后出
- 使用
Stack
类,继承自Vector
类,提供了栈的基本操作方法 - 使用
Deque接口
(双端队列),提供了栈的操作方法,推荐使用ArrayDeque
- 使用
LinkedList
类,提供了push
和pop
方法
python的话使用list即可
class Solution {
public static boolean isValid(String s) {
if (s.length() < 2) return false;
LinkedList<Character> stack = new LinkedList<>();
for (char c : s.toCharArray()) {
switch (c) {
case '(':
stack.push(')');
break;
case '{':
stack.push('}');
break;
case '[':
stack.push(']');
break;
default:
// stack.peek(); // 查看栈顶元素而不修改
if (stack.isEmpty() || stack.pop() != c) {
return false;
}
}
}
return stack.isEmpty();
}
public static void main(String[] args) {
// String s = "(";
// String s = "(()";
String s = "){";
System.out.println(isValid(s));
}
}