博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
617. Merge Two Binary Trees
阅读量:6247 次
发布时间:2019-06-22

本文共 893 字,大约阅读时间需要 2 分钟。

一、题目

  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;    }

 

转载于:https://www.cnblogs.com/skillking/p/10933167.html

你可能感兴趣的文章
ubuntu如何设置开机启动进入命令行界面
查看>>
windows7系统下文件共享 详细图解教程
查看>>
Java笔试题解(7)
查看>>
SpringMVC使用hibrenate validation进行验证
查看>>
为什么System.out.println(super)不被允许?
查看>>
angular开发中常遇到的坑
查看>>
angularJS
查看>>
微软可穿戴设备新专利公布
查看>>
web应用安全的现状是怎样的
查看>>
QuikNode -Infura高配版
查看>>
JVM学习记录——类加载的过程
查看>>
iOS 仿看了吗应用、指南针测网速等常用工具、自定义弹出视图框架、图片裁剪、内容扩展等源码...
查看>>
分布式系统中ID的需求
查看>>
引入计算属性、action、动态内容
查看>>
linux shell 命令下批量添加文件的后缀 和批量删除 拥有某后缀的文件
查看>>
OSChina 周三乱弹 ——京中有善口技者
查看>>
MyEclipse2014 Update Progress弹窗频繁出现的问题解决
查看>>
异或运算
查看>>
python 爬虫抓取心得分享
查看>>
教你ABBYY FineReader 12添加图像的技巧
查看>>