1. 程式人生 > 其它 >1305. 兩棵二叉搜尋樹中的所有元素

1305. 兩棵二叉搜尋樹中的所有元素

技術標籤:# 樹leetcode演算法

學習目標:

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) { } }