Given a string containing just the characters '(', ')', '{', '}', '[' and ']',
determine if the input string is valid.
The brackets must close in the correct order,
"()" and "()[]{}" are all valid but "(]" and "([)]" are not.
public class Solution {
public boolean isValid(String s) {
HashMap<Character,Character> map = new HashMap<Character,Character>();
map.put('(',')');
map.put('[',']');
map.put('{','}');
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < s.length(); i++){
char curr = s.charAt(i);
if (map.containsKey(curr)){
stack.push(curr);
} else if (map.containsValue(curr)) {
if (!stack.isEmpty() && map.get(stack.pop()).equals(curr)){
continue;
} else {
return false;
}
}
}
return stack.isEmpty();
}
}