import java.util.*;

public class Parenthesis {
    public boolean chkParenthesis(String A, int n) {
        // 字符串是空
        if (null == A || "".equals(A) ) {
            return false;
        }

        // 字符串 长度是奇数
        if ( (A.length() & 1) == 1) {
            return false;
        }

        int num = 0;
        for (int i = 0; i < A.length(); i++) {
            if (A.charAt(i) == '(') {
                num ++;
            }
            if (A.charAt(i) == ')') {
                num --;
            }

            if (num < 0) {
                return  false;
            }
        }

        if (num != 0) {
            return  false;
        }
        return true;
    }
}

解题思路:

1.判断字符串 不为空,长度不为 奇数

2.( 加1 ,)减1,如为负数或者 判断为为正数则 不匹配