Unique Binary Search Trees

Catalan number.

但是注意Catalan number n==0时, h(n) = 1;

而题目中n==0时,cnt =0

    int numTrees(int n) {
        // Note: The Solution object is instantiated only once and is reused by each test case.
        //Catanlan number
        //h(n)=h(n-1)*(4*n-2)/(n+1) = C(2n,n)/(n+1) = c(2n,n)-c(2n,n+1)(n=0,1,2,...)
        if(n<=0)
            return 0;
        int cnt = 1;
        for(int i=1;i<=n;i++)
            cnt = cnt*(4*i-2)/(i+1);
        
        return cnt;
    }

  

posted @ 2013-10-05 16:29  summer_zhou  阅读(139)  评论(0编辑  收藏  举报