95 不同的二叉搜尋樹 II

2022-09-06 01:03:09 字數 784 閱讀 9213

給定乙個整數 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 種不同結構的二叉搜尋樹:

思路:

發現問題了呀,題目的描述越短,就越難,(基本上哈,槓精退散)

先看懂題目說了啥唄,根據二叉線索樹的結構圖和上面的解釋,怎麼樣也能對應出來,樹的遍歷是上到下左到右

而且是個節點的左右都遍歷了先才到下面來(廣度優先,從左到右嘛)

左子樹比父節點小,右子樹比父節點大

這題對於刷題不久的我來說,還是需要理解好一會兒了的

public listgeneratetrees(int

n)

return generatesubtrees(1, n);

}private listgeneratesubtrees(int s, int

e)

for (int i = s; i <= e; ++i) }}

return

res;

}

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

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