這道題需要定義三個指標,通過快慢指標找出中點,作為根節點,然後從頭指標head->指標last這段鍊錶再遞迴呼叫sortedlisttobst函式,從slow指標下乙個節點開始到最後,作為後乙個鍊錶再進行遞迴呼叫函式sortedlisttobst函式。
/**
* definition for singly-linked list.
* struct listnode
* };
*//**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
fast=slow->next;
last->next=
null
; treenode *cur=new treenode
(slow->val);if
(head!=slow)
cur->left=
sortedlisttobst
(head)
; cur->right=
sortedlisttobst
(fast)
;return cur;}}
;
LeetCode 有序鍊錶轉換二叉搜尋樹
給定乙個單鏈表,其中的元素按公升序排序,將其轉換為高度平衡的二叉搜尋樹。本題中,乙個高度平衡二叉樹是指乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。示例 給定的有序鍊錶 10,3,0,5,9 乙個可能的答案是 0,3,9,10,null,5 它可以表示下面這個高度平衡二叉搜尋樹 0 ...
LeetCode109 有序鍊錶轉換二叉搜尋樹
給定乙個單鏈表,其中的元素按公升序排序,將其轉換為高度平衡的二叉搜尋樹。本題中,乙個高度平衡二叉樹是指乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。示例 給定的有序鍊錶 10,3,0,5,9 乙個可能的答案是 0,3,9,10,null,5 它可以表示下面這個高度平衡二叉搜尋樹 0 ...
LeetCode 109 有序鍊錶轉換二叉搜尋樹
題目描述 給定乙個單鏈表,其中的元素按公升序排序,將其轉換為高度平衡的二叉搜尋樹。本題中,乙個高度平衡二叉樹是指乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。示例 給定的有序鍊錶 10,3,0,5,9 乙個可能的答案是 0,3,9,10,null,5 它可以表示下面這個高度平衡二叉搜...