Cindy's Blog

アマゾンで働いているエンジニアの日常

LeetCode 20. Valid Parentheses

Considering with following cases "]" "{[}]"

class Solution {
    public boolean isValid(String s) {
        Stack<Character> stack = new Stack<>();
        for (int i = 0; i < s.length(); i++){
            char c = s.charAt(i);
            
            if (c == '(' || c == '[' || c == '{'){
                stack.push(c);
            } else if (stack.size() == 0){
                return false;
            } else if (c == ')' && stack.pop() != '('){
                return false;
            } else if (c == ']' && stack.pop() != '['){
                return false;
            } else if (c == '}' && stack.pop() != '{'){
                return false;
            }
        }

        return stack.size() == 0;
    }
}