LeetCode) 20. Valid Parentheses



かっこが正しく閉じられているかどうかを確認します.

Language: java

class Solution {
    public boolean isValid(String s) {
        Stack<String> stack = new Stack<>();
        String[] strArr = s.split("");
        
        if(s.length() == 0) return true;
        if(s.length() % 2 != 0) return false;

        for(int i = 0; i < strArr.length; i++) {
            
            switch(strArr[i]){
                case "(": {
                    stack.push("(");
                    break;
                }
                case "{": {
                    stack.push("{");
                    break;
                }
                case "[": {
                    stack.push("[");
                    break;
                }
                case ")": {
                    if(!stack.empty() && stack.peek().equals("(") )
                        stack.pop();
                    else return false;
                    break;
                }
                case "}": {
                    if(!stack.empty() && stack.peek().equals("{") ) 
                        stack.pop();
                    else return false;
                    break;
                }
                case "]": {
                    if(!stack.empty() && stack.peek().equals("[") ) 
                        stack.pop();
                    else return false;
                    break;
                }
            }
        }
        
        return stack.empty();
    }
}
こいつも工夫した問題...最終的にはグーグルの力を借りたが.
c言語でstackをしたことがあるのでjavaを使うとは思いませんでした.
この問題のおかげでJavaで書く方法がわかりました...相変わらず気まずい.
答え直す質問!