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

括号字符串的有效性和最长有效长度

程序员文章站 2022-07-16 10:02:01
...

括号字符串的有效性和最长有效长度

package 括号字符串的有效性;

public class Test {
    public static void main(String[] args) {
        String str1 = "()";
        String str2 = "())";
        String str3 = "()(";
        String str4 = "()a()";
        System.out.println(isValid(str1));
        System.out.println(isValid(str2));
        System.out.println(isValid(str3));
        System.out.println(isValid(str4));
    }

    public static boolean isValid(String str) {
        if (str == null || str.equals("")) {//str无指向,str指向空字符串
            return false;
        }
        char[] chas = str.toCharArray();
        int status = 0;
        for (int i = 0; i < chas.length; i++) {
            if (chas[i] != '(' && chas[i] != ')') {
                return false;
            }
            if (chas[i] == ')' && --status < 0) {
                return false;
            }
            if (chas[i] == '(') {
                status++;
            }
        }
        return status == 0;
    }
}