问题

分析

对于括号的问题,首先想到的就是使用栈

代码

public static boolean isValid(String s) {
        char[] chas = s.toCharArray();
        Stack<Character> stack = new Stack<>();
        for (int i = 0; i < chas.length; i++) {
            //如果是左括号
            if (chas[i] == '(' || chas[i] == '{' || chas[i] == '[') {
                stack.push(chas[i]);
            } else {
                if (stack.isEmpty()) return false;
                else {
                    Character c = stack.peek();
                    if(chas[i]==')'&&c=='(')
                    {
                        stack.pop();
                    }
                    if(chas[i]=='}'&&c=='{')
                    {
                        stack.pop();
                    }
                    if(chas[i]==']'&&c=='[')
                    {
                        stack.pop();
                    }
                }
            }
        }
        return stack.isEmpty();
    }

学习情况

1次