题目
给你 root1 和 root2 这两棵二叉搜索树。请你返回一个列表,其中包含 两棵树 中的所有整数并按 升序 排序。.
示例 1:
输入:root1 = [2,1,4], root2 = [1,0,3]
输出:[0,1,1,2,3,4]
示例 2:
输入:root1 = [1,null,8], root2 = [8,1]
输出:[1,1,8,8]
提示:
每棵树的节点数在 [0, 5000] 范围内
-10^5 <= Node.val <= 10 ^5
来源:力扣(LeetCode)
解题思路
这个题最简单的思路就是将两个树遍历得出的结果拼在一起,再进行排序,当然这是两个归并段,你也可以使用归并排序。
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:def getAllElements(self, root1: TreeNode, root2: TreeNode) -> List[int]:temp=[]def inorder(root):if root:inorder(root.left)temp.append(root.val)inorder(root.right)inorder(root1)inorder(root2)return sorted(temp)