leetcode 96 不同的二叉搜尋樹

2021-10-08 03:44:06 字數 656 閱讀 6921

給定乙個整數 n,求以 1 … n 為節點組成的二叉搜尋樹有多少種?

示例:輸入: 3

輸出: 5

解釋:給定 n = 3, 一共有 5 種不同結構的二叉搜尋樹:

1         3     3      2      1

\ / / / \ \

3 2 1 1 3 2

/ / \ \

2 1 2 3

通過次數67,178提交次數98,263

思路:

**動態規劃。設定g[n]表示長度為n的二叉搜尋樹的可能性。f(i,n)代表以i為根節點長度為n的二叉搜尋樹的可能性。可以推斷得到f(i,n) = g[i-1]g[n-i],同時g[n] = i從1到n對f(i,n)求和,從而就得到了關於g[n]的遞推公式。g[n] = i從1到n,求和g[i-1]g[n-i]。那麼可以通過兩層迴圈,遞推的求解所有的n即可。

class

solution

}return dp[n];}

};

leetcode 96 不同的二叉搜尋樹

給定乙個整數 n,求以 1 n 為節點組成的二叉搜尋樹有多少種?示例 輸入 3 輸出 5 解釋 給定 n 3,一共有 5 種不同結構的二叉搜尋樹 1 3 3 2 1 3 2 1 1 3 2 2 1 2 3n 0 表示,有0個點,那麼,可以組成的二叉查詢樹就乙個,那就是空樹 n 1表示,有1個點,那麼...

Leetcode 96 不同的二叉搜尋樹

給定乙個整數 n,求以 1 n 為節點組成的二叉搜尋樹有多少種?示例 輸入 3 輸出 5 解釋 給定 n 3,一共有 5 種不同結構的二叉搜尋樹 1 3 3 2 1 3 2 1 1 3 2 2 1 2 3主要參考 本題其實是構造卡特蘭數的應用,採用動態規劃思想求解。通過求解出子問題來實現最終問題的求...

leetcode96 不同的二叉搜尋樹

給定乙個整數 n,求以 1 n 為節點組成的二叉搜尋樹有多少種?示例 輸入 3 輸出 5 解釋 給定 n 3,一共有 5 種不同結構的二叉搜尋樹 1 3 3 2 1 3 2 1 1 3 2 2 1 2 3 我們把n 0 時賦為1,因為空樹也算一種二叉搜尋樹,假設n個節點存在二叉排序樹的個數是g n ...