力扣 有序鍊錶轉換二叉搜尋樹

2022-10-10 09:39:12 字數 844 閱讀 1232

給定乙個單鏈表,其中的元素按公升序排序,將其轉換為高度平衡的二叉搜尋樹。

本題中,乙個高度平衡二叉樹是指乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。

示例:

給定的有序鍊錶: [-10, -3, 0, 5, 9],

乙個可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面這個高度平衡二叉搜尋樹:

0/ \

-3 9

/ /

-10 5

/**

* definition for singly-linked list.

* public class listnode

* } */

/*** definition for a binary tree node.

* public class treenode

* } */

class

solution

public

treenode build(listnode start,listnode end)

listnode onestep=start;

listnode twostep=start;

while(twostep!=end&&twostep.next!=end)

treenode root= new

treenode(onestep.val);

root.left=build(start,onestep);

root.right=build(onestep.next,end);

return

root;

}}

力扣 109 有序鍊錶轉換二叉搜尋樹

給定乙個單鏈表,其中的元素按公升序排序,將其轉換為高度平衡的二叉搜尋樹。本題中,乙個高度平衡二叉樹是指乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。示例 給定的有序鍊錶 10,3,0,5,9 乙個可能的答案是 0,3,9,10,null,5 它可以表示下面這個高度平衡二叉搜尋樹 0 ...

有序鍊錶轉換二叉搜尋樹

題目描述 給定乙個單鏈表,其中的元素按公升序排序,將其轉換為高度平衡的二叉搜尋樹。本題中,乙個高度平衡二叉樹是指乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。思路分析 我們可以利用兩個指標來訪問鍊錶中的中間元素。當找到鍊錶中的中間元素後,我們將鍊錶從中間元素的左側斷開,做法是使用乙個...

有序鍊錶轉換二叉搜尋樹

題目描述 給定乙個單鏈表,其中的元素按公升序排序,將其轉換為高度平衡的二叉搜尋樹。本題中,乙個高度平衡二叉樹是指乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。示例 給定的有序鍊錶 10,3,0,5,9 乙個可能的答案是 0,3,9,10,null,5 它可以表示下面這個高度平衡二叉搜...