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

    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].

    思维定势了。。我想按merge two sorted array那样做,有点点多余,还是看rock大神的,

    class Solution {
     public List<Integer> getAllElements(TreeNode root1, TreeNode root2) {
            List<Integer> ans = new ArrayList<>();
            inorder(root1, ans);
            inorder(root2, ans);
            Collections.sort(ans); // Here it calls List.sort(object) method.
            return ans;
        }
        private void inorder(TreeNode n, List<Integer> ans) {
            if (n == null) return;
            inorder(n.left, ans);
            ans.add(n.val);
            inorder(n.right, ans);
        }
    }

    根据ans.add()来整inorder,postorder和preorder

  • 相关阅读:
    服务器负载均衡的基本功能和实现原理
    二分查找
    TCP的运输连接管理
    linux常用命令
    XX公司在线笔试题编程题之一
    java对象转json格式
    Java多线程并发技术
    进程同步与通信
    单例模式的C++实现
    rsyncd启动脚本
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/12201221.html
Copyright © 2011-2022 走看看