zoukankan      html  css  js  c++  java
  • 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;
        }
  • 相关阅读:
    mysql 基础sql语句
    mysql存储引擎概述
    docker命令总结
    python链接postgresql
    Log4.net示例
    postgresql 使用游标笔记
    npm常用命令
    Nginx命令
    Ubuntu命令总结
    NHibernate总结
  • 原文地址:https://www.cnblogs.com/skillking/p/10933167.html
Copyright © 2011-2022 走看看