当前位置: 首页 > news >正文

做印刷网站公司简介nba最新排名东西部

做印刷网站公司简介,nba最新排名东西部,html网页制作app下载,中山网站制作套餐文章目录 Merge Two Binary Trees 合并二叉树问题描述:分析代码PreOrder DFSPreOrder Tag Merge Two Binary Trees 合并二叉树 问题描述: 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时&#…

文章目录

Merge Two Binary Trees 合并二叉树

问题描述:

给你两棵二叉树: root1root2

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。

返回合并后的二叉树。

注意: 合并过程必须从两个树的根节点开始。

两棵树中的节点数目在范围 [ 0 , 2000 ] 内 − 1 0 4 < = N o d e . v a l < = 1 0 4 两棵树中的节点数目在范围 [0, 2000] 内\\ -10^4 <= Node.val <= 10^4 两棵树中的节点数目在范围[0,2000]104<=Node.val<=104

分析

目标是将2个树,进行覆盖,可以合并到第3个树上,也可以将tree2合并到tree1.

而且是要求相同的位置进行merge,所以必然要对树进行遍历。

其中最简单的就是前序递归,细节就不说了,all in code.

相对于递归的方法比较容易想到,迭代的实现方式也有很多,所以有点绕。

代码

PreOrder DFS

public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {if(root1==null||root2==null){return root1==null?root2:root1;} root1.val += root2.val;root1.left = mergeTrees(root1.left,root2.left);root1.right = mergeTrees(root1.right,root2.right);return root1;}

时间复杂度 O ( m i n ( M + N ) O(min(M+N) O(min(M+N)

空间复杂度 O ( H ) O(H) O(H)

PreOrder

public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {if(root1==null||root2==null){return root1==null?root2:root1;} Deque<TreeNode[]> queue = new ArrayDeque();queue.offerLast(new TreeNode[]{root1,root2});while(!queue.isEmpty()){TreeNode[] t = queue.pollLast();TreeNode p1 = t[0],p2 =t[1];p1.val+= p2.val;TreeNode l1 = p1.left,l2 = p2.left;TreeNode r1 = p1.right,r2 = p2.right; if(r1!=null&&r2!=null){queue.offerLast(new TreeNode[]{r1,r2});}if(l1!=null&&l2!=null){queue.offerLast(new TreeNode[]{l1,l2});}if(l1==null||l2==null){p1.left = l1==null? l2:l1;} if(r1==null||r2==null){                p1.right = r1==null? r2:r1;} } return root1;}

时间复杂度 O ( m i n ( M + N ) O(min(M+N) O(min(M+N)

空间复杂度 O ( H ) O(H) O(H)

Tag

Tree

DFS

http://www.zhongyajixie.com/news/23688.html

相关文章:

  • mobi网站怎么注册如何推广自己的微信号
  • 自己做一元购网站seo网站排名优化教程
  • 网站建设个人工作室手机seo百度点击软件
  • wordpress减少数据库查询百度一键优化
  • 手机网站设计规范推广软件赚钱的app
  • 湘潭做网站优化电商平台推广公司
  • 网上赚钱的平台哪个好企业关键词优化专业公司
  • 帝国做的网站深圳白帽优化
  • php做的网站facebook友链大全
  • 怎么用千牛做网站在线客服苹果aso优化
  • ppt代做网站优化网站的公司哪家好
  • 北京企业宣传片制作公司外贸网站建设优化推广
  • 滨海新区做网站电话长沙seo优化推广公司
  • 做空的网站有哪些营销方案推广
  • 一手货源批发网站长沙网站优化对策
  • b2b电子商务网站调研报告电大seo的中文名是什么
  • 百度提交网站seo怎么做
  • 江都建设网站快点tv下载安装
  • 做网站 怎么做留言uc搜索引擎入口
  • 大型 视频网站开发公司策划推广
  • 增城网站建设seo快速软件
  • 中国最好的网站制作电商运营助理
  • 嘉兴网站建设科技有限公司长沙百度推广开户
  • 网站转移后后台无法登陆中国十大互联网公司排名
  • 做毕业设计免费网站建设各大网站推广平台
  • 网站降权怎么处理大连网站推广
  • 中山做网站哪家好杭州seo代理公司
  • 做电脑回收什么网站好湖南网站seo公司
  • 潍坊站总站人工服务电话雅虎搜索引擎中文版
  • 简述网站开发平台营销软文范文