Skip to content

如果是1种括号,可以简单的使用平衡因子来判断是否是有效括号组合。

java

public boolean valid(char[] current) {
    int balance = 0;
    for (char c : current) {
        if (c == '(') {
            ++balance;
        } else {
            --balance;
        }
        if (balance < 0) {
            return false;
        }
    }
    return balance == 0;
}

而如果是2种以上的括号,需要使用栈和hash表来判断

演示代码