給定乙個整數 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
解析:二叉搜尋樹的一大性質就是對於乙個節點,它的左節點均比它小,它的右節點均比它大。
對於給定n個數字,選取任意乙個數字,便可以得到它的左子樹與右子樹各自包含的數字,於是可以遞迴呼叫函式,分別構建左右子樹,之後進行拼接。
class
solution
;returngt(
1,n);}
vector>gt(
int n,
int m)
; vector> res;
for(
int i=n;i<=m;
++i)}}
return res;}}
;
LeetCode 95 不同的二叉搜尋樹
給定乙個整數 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 ...
leetcode 95 不同的二叉搜尋樹
題目 給定乙個整數 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 ...
Leetcode95 不同的二叉搜尋樹 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 2...