描述
Given two binary search trees root1 and root2.
Return a list containing all the integers from both trees sorted in ascending order.
Example 1:

Input: root1 = [2,1,4], root2 = [1,0,3]
Output: [0,1,1,2,3,4]
Example 2:
Input: root1 = [0,-10,10], root2 = [5,1,7,0,2]
Output: [-10,0,0,1,2,5,7,10]
Example 3:
Input: root1 = [], root2 = [5,1,7,0,2]
Output: [0,1,2,5,7]
Example 4:
Input: root1 = [0,-10,10], root2 = []
Output: [-10,0,10]
Example 5:

Input: root1 = [1,null,8], root2 = [8,1]
Output: [1,1,8,8]
Note:
Each tree has at most 5000 nodes.
Each node's value is between [-10^5, 10^5].
解析
根据题意,就是将两棵树的数都找出来,然后排序,所以第一步就是递归将两棵树的所有数字找出来放入一个数组,然后对数组排序即可。
解答
class Solution(object):
def getAllElements(self, root1, root2):
"""
:type root1: TreeNode
:type root2: TreeNode
:rtype: List[int]
"""
res = []
def findNode(root, res):
if not root:
return
res.append(root.val)
if root.left:
findNode(root.left, res)
if root.right:
findNode(root.right, res)
findNode(root1, res)
findNode(root2, res)
res.sort()
return res
运行结果
Runtime: 336 ms, faster than 94.68% of Python online submissions for All Elements in Two Binary Search Trees.
Memory Usage: 23 MB, less than 28.72% of Python online submissions for All Elements in Two Binary Search Trees.
原题链接:leetcode.com/problems/al…
您的支持是我最大的动力