LeetCode.20 Vaild Parentheses

import java.util.Stack; //导入java自带Stack包

class Solution {
    public boolean isValid(String s) {
    
        Stack<Character> stack = new Stack<>(); //实例化字符型stack类
        for (int i = 0; i < s.length(); i++){
            char c = s.charAt(i); //charAt()返回指定索引字符
            if (c == '(' || c == '{' || c == '[')
                stack.push(c); //推入
            else {
                if (stack.isEmpty()) //表示第一个输入为右符号
                    return false;

                char topChar = stack.pop();
                if (c == ')' && topChar != '(')
                    return false;
                if (c == '}' && topChar != '{')
                    return false;
                if (c == ']' && topChar != '[')
                    return false;
            }
        }
        return stack.isEmpty(); //防止左括号有剩
    }
}

如果想做测试可以添加

    public static void main(String[] args){

        System.out.println(new Solution().isValid("{}[]()"));
    }

运行结果

true

猜你喜欢

转载自blog.csdn.net/weixin_43960884/article/details/88774085
今日推荐