题解 | #合并二叉树#
合并二叉树
https://www.nowcoder.com/practice/7298353c24cc42e3bd5f0e0bd3d1d759
import java.util.*;
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* }
*/
public class Solution {
/**
*
* @param t1 TreeNode类
* @param t2 TreeNode类
* @return TreeNode类
*/
public TreeNode mergeTrees (TreeNode t1, TreeNode t2) {
// write code here
// 依然使用递归来解决
if(t1 == null && t2 == null){
return null;
}
if(t1 == null ){
return t2;
}
if(t2 == null ){
return t1;
}
TreeNode root = new TreeNode(t1.val + t2.val);
root.left = mergeTrees(t1.left,t2.left);
root.right = mergeTrees(t1.right,t2.right);
return root;
}
}
合并二叉树,就是二叉树相加,出口就是:两个为null返回null,一边为null返回另一边。进入递归就是,两个的左子树进行合并,两个的右子树进行合并。最后return 一个合并的子树。
