95 不同的二叉搜尋樹 II

2021-09-25 18:57:52 字數 893 閱讀 7487

給定乙個整數 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 2

/ / \ \

2 1 2 3

思路和96. 不同的二叉搜尋樹差不多,但是這道題需要把具體的二叉樹寫出來。當給定乙個整數n的時候,我們可以以1, 2, 3,... n分別為根節點。當以k為根節點的時候,它左面有k-1個元素,右面有n-k個元素,組成的二叉樹共有c(k-1)*c(n-k)種。對於c(k-1),可以以這k-1個數分別為根節點組成二叉樹,對於c(n-k),可以以這n-k個數分別為根節點組成二叉樹,遞迴解決。注意n=0時候的邊界。

class solution ;

for(int i=start; i<=end; ++i)

}

}return re;

}vectorgeneratetrees(int n) ;

return help(1, 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 ...

95 不同的二叉搜尋樹 II

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 ...