兩棵二叉搜尋樹中的所有元素

2021-10-01 19:29:49 字數 1750 閱讀 8553

給你 root1 和 root2 這兩棵二叉搜尋樹。

請你返回乙個列表,其中包含 兩棵樹 中的所有整數並按 公升序 排序。.

示例 1:

輸入:root1 = [2,1,4], root2 = [1,0,3]

輸出:[0,1,1,2,3,4]

示例 2:

輸入:root1 = [0,-10,10], root2 = [5,1,7,0,2]

輸出:[-10,0,0,1,2,5,7,10]

示例 3:

輸入:root1 = , root2 = [5,1,7,0,2]

輸出:[0,1,2,5,7]

示例 4:

輸入:root1 = [0,-10,10], root2 = 

輸出:[-10,0,10]

示例 5:

輸入:root1 = [1,null,8], root2 = [8,1]

輸出:[1,1,8,8]

每棵樹最多有 5000 個節點。

每個節點的值在 [-10^5, 10^5] 之間。

首先對兩個樹做先序遍歷,會得到從小到大排序的 2 個有序陣列。然後對兩個有序陣列進行合併。

/**

* definition for a binary tree node.

* public class treenode

* }*/class

solution

public

static list

mergeorderlist

(list

list1, list

list2)

if(list1 == null)

if(list2 == null)

int index1 =0;

int index2 =0;

while

(index1 < list1.

size()

&& index2 < list2.

size()

)else

}while

(index1 < list1.

size()

)while

(index2 < list2.

size()

)return resultlist;

}public

static list

preordertree

(treenode node)

if(node.left == null && node.right == null)

// recursive get order list

list

left =

preordertree

(node.left)

; preorderlist.

addall

(left)

; preorderlist.

add(node.val)

; list

right =

preordertree

(node.right)

; preorderlist.

addall

(right)

;return preorderlist;

}}

LeetCode 兩棵二叉搜尋樹的所有元素

題目鏈結 1305 給你root1和root2這兩棵二叉搜尋樹。請你返回乙個列表,其中包含 兩棵樹 中的所有整數並按 公升序 排序。示例 輸入 root1 2,1,4 root2 1,0,3 輸出 0,1,1,2,3,4 輸入 root1 0,10,10 root2 5,1,7,0,2 輸出 10,...

1305 兩棵二叉搜尋樹中的所有元素(C )

給你 root1 和 root2 這兩棵二叉搜尋樹。請你返回乙個列表,其中包含 兩棵樹 中的所有整數並按 公升序 排序。示例 1 輸入 root1 2,1,4 root2 1,0,3 輸出 0,1,1,2,3,4 示例 2 輸入 root1 0,10,10 root2 5,1,7,0,2 輸出 10...

LeetCode 兩棵搜尋樹中的所有元素

原題鏈結 1305.兩棵二叉搜尋樹中的所有元素 給你root1和root2這兩棵二叉搜尋樹。請你返回乙個列表,其中包含兩棵樹中的所有整數並按公升序排序。示例 1 輸入 root1 2,1,4 root2 1,0,3 輸出 0,1,1,2,3,4 示例 2 輸入 root1 0,10,10 root2...