describe

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 =,1,4 [2], root2 =,0,3 [1] the Output:,1,1,2,3,4 [0]Copy the code

Example 2:

Input: root1 = [0, 10, 10], root2 =,1,7,0,2 [5] the Output: 10,0,0,1,2,5,7,10 [-]Copy the code

Example 3:

Input: [] = root1, root2 =,1,7,0,2 [5] the Output:,1,2,5,7 [0]Copy the code

Example 4:

Input: root1 = [0, 10, 10], root2 = [] Output: 10,0,10 [-]Copy the code

Example 5:

Input: root1 = [1,null,8], root2 = [8,1]
Output: [1,1,8,8]
Copy the code

Note:

Each tree has at most 5000 nodes.
Each node's value is between [-10^5, 10^5].
Copy the code

parsing

So the first step is to recursively find all the numbers in both trees and put them in an array, and then sort the array.

answer

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
        	      
		
Copy the code

The results

Runtime: 336 ms, faster than 94.68% of Python online submissions for All Elements in Two Binary Search Trees. Memory Usage: Submissions in Python online submissions for All Elements in Two Binary Search Trees.Copy the code

Original link: leetcode.com/problems/al…

Your support is my biggest motivation