給定乙個整數 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
/**
* definition for a binary tree node.
* public class treenode
* }*/class solution
/**動態規劃 + 遞迴。
如果將 i 作為跟節點,那麼 [1, i) 為 i 的左子樹節點,(i, n] 為右子樹節點。
問題就被拆分為兩個子問題了:
1、求左子樹的所有排列
2、求右子樹的所有排列
**/public listhelper(int min, int max)else if(left.size() == 0)
}else if(right.size() == 0)
}else}}
}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 ...
LeetCode 95 不同的二叉搜尋樹 II
1.題目 2.解答 以假設序列為 其中要特別注意,如果某乙個子樹向量為空,我們需要在向量中新增乙個空指標,保證迴圈進行一次,這時候只需要遍歷另乙個子樹即可。definition for a binary tree node.struct treenode class solution vector ...