首页 » 编程之美 » 正文

[leetcode_96]Unique Binary Search Trees

由于是二分查找树,根据根的不同来迭代。
附上代码。一次AC开始一直没想明白。哎。

class Solution {
public:
    int numTrees(int n) {
        // Note: The Solution object is instantiated only once and is reused by each test case.
        if(n == 1)return 1;
        if(n == 2)return 2;
        if(n == 3)return 5;
        int <em>num = new int[n + 1];
        num[0] = 1;
        num[1] = 1;
        num[2] = 2;
        num[3] = 5;
        for(int i = 4;i &lt;= n;i++)
        {
            num[i] = 0;
            for(int j = 1;j &lt;= i;j++)
            {
                num[i] += num[j-1]</em>num[i-j];
            }
        }
        return num[n];
    }
};

发表评论