5、栈、队列、优先队列
内容来自刘宇波老师玩转算法面试
1、栈的基础应用
20 - 有效的括号

public static boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
char[] chars = s.toCharArray();
for (char c : chars) {
if (c == '(' || c == '{' || c == '[') stack.push(c);
else {
if (stack.isEmpty()) return false;
char top = stack.pop();
if (c == ')' && top != '(') return false;
if (c == '}' && top != '{') return false;
if (c == ']' && top != '[') return false;
}
}
return stack.isEmpty();
}
更多问题
150 - 逆波兰表达式求值
71 - 简化路径