• 617. Merge Two Binary Trees


    一、题目

      1、审题 

      

      2、分析

        将两个二叉树合并为一棵(对应的节点值相加)。

    二、解答

      方法一、

        将 t1 作为目标二叉树,

        ①  若 t1 与 t2 均不为空, 则 t1 值为 t1 与 t2 值之和。递归计算 t1 左右孩子

        ②  若 t1 为空,则返回 t2

        ③ 若 t2 为空,则返回 t1

        public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
            if(t1 == null)
                return t2;
            if(t2 != null) {
                t1.val += t2.val;
                t1.left = mergeTrees(t1.left, t2.left);
                t1.right = mergeTrees(t1.right, t2.right);
            }
            return t1;
        }

      方法二、

        新建一棵二叉树,作为两颗树合并的结果。

        public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
            if(t1 == null)
                return t2;
            if(t2 == null)
                return t1;
            
            TreeNode newNode = new TreeNode(t1.val + t2.val);
            newNode.left = mergeTrees(t1.left, t2.left);
            newNode.right = mergeTrees(t1.right, t2.right);
            return newNode;
        }
  • 相关阅读:
    vue-ssr优化
    学习基础笔记1
    js原型链继承图
    浏览器缓存和Service Worker
    react项目启动详解(转载)
    深拷贝js对象或数组
    css多边形
    css三角形
    字体文件使用及压缩
    前端调试效率低?试试这10个“Chrome开发者工具”使用技巧
  • 原文地址:https://www.cnblogs.com/skillking/p/10933167.html
Copyright © 2020-2023  润新知