不同的二叉搜尋樹 II

2021-10-08 08:58:18 字數 901 閱讀 6317

題目描述:

給定乙個整數 n,生成所有由 1 … n 為節點所組成的 二叉搜尋樹 。

示例:輸入:3

輸出:[

[1,null,3,2],

[3,2,null,1],

[3,1,null,null,2],

[2,1,3],

[1,null,2,null,3]

]解釋:

以上的輸出對應以下 5 種不同結構的二叉搜尋樹:

以上的輸出對應以下 5 種不同結構的二叉搜尋樹:

13321

\ /

// \ \

321132/

/ \ \

2123

題目分析:二叉搜尋樹的特點:左子樹均比根節點小,右子樹均比根節點大,根據這個特點建樹。

[1,n]是從小到大排好的,我們只要選擇任意乙個點作為根節點,然後對其兩邊的數遞迴建樹

**:

class

solution

public list

buildtree

(int l,

int r)

for(

int i = l; i <= r; i++)}

}return res;

}}

補充 不同二叉樹i

分析:這個題其實用到乙個數學知識,卡特蘭數,這個我之前是寫過的,和求解出棧順序是一樣的路子,直接套公式好了 cn = cn-1*(4*n-2)/(n+1),可以參考catalan

class

solution

return

(int

)h[n];}

}

95 不同的二叉搜尋樹 II

二叉搜尋樹,又被稱為是二叉查詢樹 二叉排序樹,這種樹其左子樹所有節點的值均小於根節點的值,其右子樹所有節點的值均大於根節點的值,並且其左 右子樹均為二叉搜尋樹。空樹也是二叉搜尋樹。方法一 遞迴法 與這道題類似的是那道 96不同的二叉搜尋樹 在96中我們曾分析到,由於給定的節點值為1 n,是一組從小到...

95 不同的二叉搜尋樹 II

給定乙個整數 n,生成所有由 1 n 為節點所組成的二叉搜尋樹。示例 輸入 3 輸出 1,null,3,2 3,2,null,1 3,1,null,null,2 2,1,3 1,null,2,null,3 解釋 以上的輸出對應以下 5 種不同結構的二叉搜尋樹 1 3 3 2 1 3 2 1 1 3 ...

2019 10 09 不同的二叉搜尋樹 II

給定乙個整數 n,生成所有由 1 n 為節點所組成的二叉搜尋樹。示例 輸入 3 輸出 1,null,3,2 3,2,null,1 3,1,null,null,2 2,1,3 1,null,2,null,3 解釋 以上的輸出對應以下 5 種不同結構的二叉搜尋樹 1 3 3 2 1 3 2 1 1 3 ...