1. 程式人生 > >合法的括號序列匹配數

合法的括號序列匹配數

假設有n對左右括號,請求出合法的排列有多少個?合法是指每一個括號都可以找到與之配對的括號,比如n=1時,()是合法的,但是)(為不合法。

給定一個整數n,請返回所求的合法排列數。保證結果在int範圍內。

測試樣例:
1

返回:1

class Parenthesis {
public:
    int Cmn(int m,int n)
    {
        if(m==n||n==0)
            return 1;
        else
            return Cmn(m-1,n)+Cmn(m-1,n-1);
    }
    int countLegalWays(int n) {
        // write code here
        if(n==1)
            return 1;
        else
            return Cmn(2*n,n)-Cmn(2*n,n+1);
    }
};