欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LeetCode20. 有效的括号isValid(栈)

程序员文章站 2024-01-28 17:10:58
...

1、题目描述

LeetCode20. 有效的括号isValid(栈)

2、代码详解

import java.util.Stack;

public class IsValid_20 {
    public static void main(String[] args){
        String s = "{[]}";
        System.out.println(isValid(s));
    }

    public static boolean isValid(String s){
        Stack<Character> stack = new Stack<>();
        for (char c : s.toCharArray()){
            if(c == '(' || c == '{' || c == '[') {
                stack.push(c);
            }
            else {
                if (stack.isEmpty())
                    return false;
                char cStack = stack.pop();
                boolean b1 = (c == ')' && cStack != '(');
                boolean b2 = (c == '}' && cStack != '{');
                boolean b3 = (c == ']' && cStack != '[');
                if (b1 || b2 || b3) // 如果不匹配
                    return false;
            }
        }
        return stack.isEmpty();
    }
}

 

相关标签: Hot100