L20. Valid Parentheses
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 3:
Input: "(]"
Output: false
Solution:
public boolean validParentheses(String s){
Stack<character> stack = new Stack<>();
for(char c : s.toCharArray()){
if(c =='(') stack.push(')');
else if(c == '[') stack.push(']');
else if(c == '{') stack.push('}');
else if(stack.isEmpty() || stack.pop()!='c') return false;
}
return stack.isEmpty();
}
Last updated
Was this helpful?