zoukankan      html  css  js  c++  java
  • Lc617_合并二叉树

    
    package com.example.leetcode;
    
    /**
     * @description:
     * 617. 合并二叉树
     * 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。
     *
     * 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。
     *
     * 示例 1:
     *
     * 输入:
     * 	Tree 1                     Tree 2
     *           1                         2
     *          /                        / 
     *         3   2                     1   3
     *        /                              
     *       5                             4   7
     * 输出:
     * 合并后的树:
     * 	     3
     * 	    / 
     * 	   4   5
     * 	  /    
     * 	 5   4   7
     * 注意: 合并必须从两个树的根节点开始。
     *
     * 通过次数139,233提交次数176,859
     *
     * @author: licm
     * @create: 2021-04-20 09:51
     **/
    public class Lc617_合并二叉树 {
        /**
         * dfs 我使用前序遍历
         * @param root1
         * @param root2
         * @return
         */
        public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {
            if(root1 == null ){
                return root2;
            }
    
            if(root2 == null ){
                return root1;
            }
    
            root1.left = mergeTrees(root1.left,root2.left);
            root1.val+=root2.val;
            root1.right = mergeTrees(root1.right,root2.right);
            return root1;
        }
    
    }
    
    
    不会,我可以学;落后,我可以追赶;跌倒,我可以站起来!
  • 相关阅读:
    ASP.NET MVC 3: Razor中的@:和语法
    如何设置VS的代码智能提示
    七次
    不知不觉
    一切一切
    什么是喜欢
    Oracle的substr函数简单用法与substring区别
    前端必读:浏览器内部工作原理(转载)
    sublime text 插件安装 Mac版的
    一个随机上翻的小效果
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/14679850.html
Copyright © 2011-2022 走看看