请选择 进入手机版 | 继续访问电脑版
切换风格

Sunset glow Snow NewYear London Flowers Wizard California Cloud Sky Lavender City Black Beige Dragon

1万

主题

1万

帖子

3万

积分

金牌会员

Rank: 6Rank: 6

吾爱币
25109
在线时间
9 小时
注册时间
2020-3-25

论坛新星

算法与数据结构-树-简单-合并二叉树[复制链接]
发表于 6 天前 | 显示全部楼层 |阅读模式
标签:href 需要 相加 init 前序遍历 dfs 否则 过程 另一个
合并二叉树

题目

leetcode原题:617. 合并二叉树
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。
你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。
分析

仔细分析,两棵树需要同步遍历,拿到的每个节点需要根据是否为null进行合并计算
因为题目中需要生成新的二叉树,所以代码中需要自己new Node,并且需要设置node的左孩子和右孩子,自然而然的想到把递归加到这里,并且递归需要返回节点。
总结一下:

  • 整体的框架是一个前序遍历
  • 递归加入到设置左孩子和右孩子的过程中
  • 递归的终止过程就是合并计算的过程
代码

/** * 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) { return dfs(t1,t2); } private TreeNode dfs(TreeNode t1, TreeNode t2){ if(t1 == null && t2 == null){ return null; } 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; }}算法与数据结构-树-简单-合并二叉树
标签:href 需要 相加 init 前序遍历 dfs 否则 过程 另一个
原文地址:https://www.cnblogs.com/ging/p/14267417.html




上一篇:Springboot 注解之 @ImportResource
下一篇:拓扑排序-1203. 项目管理。。。没看懂
回复

使用道具 举报

255

主题

3138

帖子

6531

积分

金牌会员

Rank: 6Rank: 6

吾爱币
3393
在线时间
0 小时
注册时间
2020-6-28

论坛新星

发表于 6 天前 | 显示全部楼层
为了三千积分!
回复

使用道具 举报

213

主题

2979

帖子

6171

积分

金牌会员

Rank: 6Rank: 6

吾爱币
3192
在线时间
0 小时
注册时间
2020-6-28

论坛新星

发表于 5 天前 | 显示全部楼层
发发呆,回回帖,工作结束~
回复

使用道具 举报

226

主题

3011

帖子

6248

积分

金牌会员

Rank: 6Rank: 6

吾爱币
3237
在线时间
0 小时
注册时间
2020-6-28

论坛新星

发表于 4 天前 | 显示全部楼层
鄙视楼下的顶帖没我快,哈哈
回复

使用道具 举报

232

主题

3012

帖子

6256

积分

禁止发言

吾爱币
3244
在线时间
0 小时
注册时间
2020-6-28

论坛新星

发表于 3 天前 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

48

主题

2820

帖子

5690

积分

金牌会员

Rank: 6Rank: 6

吾爱币
2870
在线时间
0 小时
注册时间
2020-7-7
发表于 3 天前 | 显示全部楼层
LZ敢整点更有创意的不?兄弟们等着围观捏~
回复

使用道具 举报

206

主题

3020

帖子

6246

积分

金牌会员

Rank: 6Rank: 6

吾爱币
3226
在线时间
0 小时
注册时间
2020-6-28

论坛新星

发表于 前天 12:40 | 显示全部楼层
这么强,支持楼主,佩服
回复

使用道具 举报

232

主题

3153

帖子

6538

积分

金牌会员

Rank: 6Rank: 6

吾爱币
3385
在线时间
0 小时
注册时间
2020-6-28

论坛新星

发表于 昨天 05:58 | 显示全部楼层
支持支持再支持
回复

使用道具 举报

226

主题

3017

帖子

6260

积分

金牌会员

Rank: 6Rank: 6

吾爱币
3243
在线时间
0 小时
注册时间
2020-6-28

论坛新星

发表于 昨天 17:18 | 显示全部楼层
众里寻他千百度,蓦然回首在这里!
回复

使用道具 举报

232

主题

3118

帖子

6468

积分

金牌会员

Rank: 6Rank: 6

吾爱币
3350
在线时间
0 小时
注册时间
2020-6-28

论坛新星

发表于 2 小时前 | 显示全部楼层
为了三千积分!
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|吾爱分享-享你所想 ( 黔ICP备18007665号-2 )|网站地图

GMT+8, 2021-1-20 18:07 , Processed in 2.834735 second(s), 110 queries .

Powered by 52Fenxiang.Top

© 2001-2020 Comsenz Inc.

返回顶部