堆栈
方法1:Stack
public boolean isValid(String s) {
Map<Character, Character> dict = new HashMap<>();
dict.put(']', '[');
dict.put(')', '(');
dict.put('}', '{');
Stack<Character> stk = new Stack<>();
for (char c : s.toCharArray()) {
if (c == '[' || c == '(' || c == '{') stk.push(c);
else if (!stk.isEmpty() && dict.containsKey(c) && dict.get(c) == stk.peek()) stk.pop();
else return false;
}
return stk.isEmpty();
}方法2:Deque
方法1:栈
Follow Up:返回最长长度的下标索引
方法2:DP
方法3:贪心
方法1:栈
方法1:栈
方法2:DP

方法1:栈

方法2:数组

Last updated