将两个二叉树的对应结点值相加构成新的二叉树,如果两个二叉树对应结点都为null,返回null,一个结点为null,返回另一个结点的值。
思想:使用递归的方法,对于每一个节点获得值的方法相同。
- java
/**
* 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;
TreeNode root=new TreeNode(t1.val+t2.val) ;
root.left=mergeTrees(t1.left,t2.left);
root.right=mergeTrees(t1.right,t2.right);
return root;
}
}
- javascript
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} t1
* @param {TreeNode} t2
* @return {TreeNode}
*/
var mergeTrees = function(t1, t2) {
if(t1==null)
return t2;
if(t2==null)
return t1;
let root=new TreeNode(t1.val+t2.val) ;
root.left=mergeTrees(t1.left,t2.left);
root.right=mergeTrees(t1.right,t2.right);
return root;
};