力扣20.有效的括号-Java

题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。

//判断括号是否匹配问题
    public boolean isValid(String s){
        //1.创建一个栈
        Stack stack = new Stack<>();
        //2.循环遍历每个字符
        for(int i = 0;i < s.length();i++){
            char c = s.charAt(i);
            //3.如果是左括号,就入栈
            if(c == '(' || c == '{' || c == '['){
                stack.push(c);
                continue;
            }
            //4.如果是右括号,取出栈顶元素
            if(stack.isEmpty()){
                //不匹配的情况
                return false;
            }
            char top = stack.pop();
            //5.检查栈顶元素和当前元素是不是配对
            if(top == '(' && c == ')'){
                continue;
            }
  

你可能感兴趣的:(学习)