Valid Parentheses
Last updated
Last updated
Input:
"([)]"
Output:
falseInput:
"{[]}"
Output:
trueclass Solution {
public boolean isValid(String s) {
if (s == null) {
return false;
}
Stack < Character > stack = new Stack < Character > ();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (!stack.isEmpty() && match(stack.peek(), ch)) {
stack.pop();
} else {
stack.push(ch);
}
}
return stack.isEmpty();
}
boolean match(char ch1, char ch2) {
return (ch1 == '(' && ch2 == ')') ||
(ch1 == '[' && ch2 == ']') ||
(ch1 == '{' && ch2 == '}');
}
}class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
for(char c : s.toCharArray()){
switch(c){
case ']': if(stack.isEmpty() || stack.pop()!='[') return false; break;
case ')': if(stack.isEmpty() || stack.pop()!='(') return false; break;
case '}': if(stack.isEmpty() || stack.pop()!='{') return false; break;
default: stack.push(c);
}
}
return stack.isEmpty();
}
}