1. 程式人生 > >LeetCode Unique Binary Search Trees

LeetCode Unique Binary Search Trees

對於選取的點,它的返回值應該是它的不同左子樹的個數*他的不同右子樹的個數。

邊界調節,當n=0時,返回1,只返回一個空樹,當n=1時,返回1,只有一個節點的樹。

AC Java:

public class Solution {
    public int numTrees(int n) {
        int[] arr = new int[n+1];
        arr[0] = 1;
        arr[1] = 1;
        for(int i = 2; i<=n; i++){
            for(int j = 0; j < i; j++){
                arr[i]+=arr[j]*arr[i-1-j];
            }
        }
        return arr[n];
    }
}