897 遞增順序查詢樹

2021-09-25 13:12:40 字數 1004 閱讀 5744

給定乙個樹,按中序遍歷重新排列樹,使樹中最左邊的結點現在是樹的根,並且每個結點沒有左子結點,只有乙個右子結點。

示例 :

輸入:[5,

3,6,

2,4,null,8,

1,null,null,null,7,

9]5/ \

36/ \ \

248/

/ \ 17

9輸出:[

1,null,

2,null,

3,null,

4,null,

5,null,

6,null,

7,null,

8,null,9]

1 \2\

3\4\

5\6\

7\8\

9

這題也非常簡單,但是要注意的是插入的時候只有右節點,不需要向二叉搜尋樹一樣判斷大小.

public treenode increasingbst

(treenode root)

//再重新生成樹

treenode newroot = null;

for(treenode treenode : list)

return newroot;

}private

void

inorder

(treenode node, list

list)

inorder

(node.left,list)

; list.

add(node)

;inorder

(node.right,list);}

private treenode add

(treenode root,treenode node)

root.right =

add(root.right,node)

;return root;

}

897 遞增順序查詢樹

給定乙個樹,按中序遍歷重新排列樹,使樹中最左邊的結點現在是樹的根,並且每個結點沒有左子結點,只有乙個右子結點。示例 輸入 5,3,6,2,4,null,8,1,null,null,null,7,9 5 3 6 2 4 8 1 7 9 輸出 1,null,2,null,3,null,4,null,5,...

897 遞增順序查詢樹

很簡單的一道題目,兩種方法,第一種需要額外空間來儲存結點中的值,然後按照儲存順序生成一顆新的樹 class solution def increasingbst self,root treenode treenode 中序遍歷二叉樹,獲得節點的值,然後生成新的樹tree l self.helper ...

C Leetcode897 遞增順序查詢樹

題目思路 1 暴力解法。中序遍歷二叉樹,將值逐個存入乙個動態陣列 然後遍歷陣列,建乙個新的樹。實現方法 一 暴力解法 definition for a binary tree node.struct treenode class solution return p void increasingbs...