617.Merge Two Binary Trees

将两个二叉树的对应结点值相加构成新的二叉树,如果两个二叉树对应结点都为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;
    
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容