zoukankan      html  css  js  c++  java
  • 1305. All Elements in Two Binary Search Trees (M)

    All Elements in Two Binary Search Trees (M)

    题目

    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] 
    

    Constraints:

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

    题意

    将两个BST中的值合并并排序。

    思路

    先用中序遍历取出每个BST中值得有序序列,再归并。


    代码实现

    Java

    class Solution {
        public List<Integer> getAllElements(TreeNode root1, TreeNode root2) {
            List<Integer> ans = new ArrayList<>();
            List<Integer> list1 = new ArrayList<>(), list2 = new ArrayList<>();
            inorder(root1, list1);
            inorder(root2, list2);
            int i = 0, j = 0;
            while (i < list1.size() || j < list2.size()) {
                if (i == list1.size() || j < list2.size() && list1.get(i) >= list2.get(j)) {
                    ans.add(list2.get(j++));
                } else {
                    ans.add(list1.get(i++));
                }
            }
            return ans;
        }
    
        private void inorder(TreeNode root, List<Integer> list) {
            if (root == null) {
                return;
            }
    
            inorder(root.left, list);
            list.add(root.val);
            inorder(root.right, list);
        }
    }
    
  • 相关阅读:
    100-days: twelve
    100-days: eleven
    100-days: ten
    [PKUWC 2018]随机算法
    [CTSC 2018]假面
    APIO 2018 游记
    CTSC 2018 游记
    [CQOI 2018]解锁屏幕
    [CQOI 2018]九连环
    [CQOI 2018]破解D-H协议
  • 原文地址:https://www.cnblogs.com/mapoos/p/13620814.html
Copyright © 2011-2022 走看看