学习目标:
1305. 两棵二叉搜索树中的所有元素
学习内容:
1305:两棵二叉搜索树中的所有元素
示例 1:
输入:root1 = [2,1,4], root2 = [1,0,3]
输出:[0,1,1,2,3,4]
示例 2:
输入:root1 = [0,-10,10], root2 = [5,1,7,0,2]
输出:[-10,0,0,1,2,5,7,10]
示例 3:
输入:root1 = [], root2 = [5,1,7,0,2]
输出:[0,1,2,5,7]
示例 4:
输入:root1 = [0,-10,10], root2 = []
输出:[-10,0,10]
示例 5:
输入:root1 = [1,null,8], root2 = [8,1]
输出:[1,1,8,8]
提示:
每棵树最多有 5000 个节点。
每个节点的值在 [-10^5, 10^5] 之间。
学习时间:
2020年12月学习产出:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
*
* @ClassName: Solution.java
* @Description:
* 给你 root1 和 root2 这两棵二叉搜索树。
* 请你返回一个列表,其中包含 两棵树 中的所有整数并按 升序 排序。
*
* 中序遍历结点将值添加进list集合进行排序
* @version: v1.0.0
* @author: 童梦君
* @date: 2020年12月15日 下午6:07:15
*
* Modification History:
Modification History:
* Date Author Version Description
*----------------------------------------------------------------*
* 2020年12月15日 童梦君 v1.0.0 修改原因
*/
public class Solution {
private List<Integer> list = new ArrayList<Integer>();
public List<Integer> getAllElements(TreeNode root1, TreeNode root2) {
getVal(root1);
getVal(root2);
Collections.sort(list);
return list;
}
//中序遍历添加值
public void getVal(TreeNode root) {
if(root==null)
return;
getVal(root.left);
list.add(root.val);
getVal(root.right);
}
public static void main(String[] args) {
}
}