题目描述:
注意: 合并必须从两个树的根节点开始。
肯定是递归实现
代码:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
if(t1 == null){
return t2;
}
if(t2 == null){
return t1;
}
t1.val = t1.val + t2.val;
t1.left = mergeTree(t1.left, t2.left);
t1.right = mergeTree(t1.right, t2.right);
return t1;
}
public TreeNode mergeTree(TreeNode t1, TreeNode t2){
if(t1 == null){
return t2;
}
if(t2 == null){
return t1;
}
t1.val = t1.val + t2.val;
t1.left = mergeTree(t1.left, t2.left);
t1.right = mergeTree(t1.right, t2.right);
return t1;
}
}
效率还行