1305. 兩棵二叉搜尋樹中的所有元素
阿新 • • 發佈:2020-12-16
學習目標:
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]
輸入: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) {
}
}