ID | Title | Difficulty | |
---|---|---|---|
Loading... |
20. Valid Parentheses
Easy
LeetCode
String, Stack
Problem
Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.
An input string is valid if:
Open brackets must be closed by the same type of brackets.
Open brackets must be closed in the correct order.
Note that an empty string is also considered valid.
Example 1:
Input: "()"
Output: true
Example 2:
Input: "()[]{}"
Output: true
Example 3:
Input: "(]"
Output: false
Constraints:
- $1 <= s.length <= 10^4$
- s consists of parentheses only ‘()[]{}’.
Code
class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
for(char c : s.toCharArray()){
if(c == ']' || c ==')' || c == '}') {
if(stack.isEmpty() || stack.pop() != c) return false;
} else {
if(c == '[') {
stack.push(']');
} else if (c == '{') {
stack.push('}');
} else {
stack.push(')');
}
}
}
return stack.isEmpty();
}
}
按 <- 键看上一题!
19. Remove Nth Node From End of List
按 -> 键看下一题!
21. Merge Two Sorted Lists