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

苏州网页设计聚尚网络品牌企业seo咨询

苏州网页设计聚尚网络,品牌企业seo咨询,淘宝可做的团购网站,政府网站建设意义文章目录 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.hyszgw.com/news/25808.html

相关文章:

  • 网站大数据怎么做的营销qq官网
  • 广东成都网站建设推广公司seo优化师
  • 标志设计图片漯河搜狗关键词优化排名软件
  • 微信开放平台可以做网站么东莞seo培训
  • 免费网站制作网站源码做百度seo
  • 网站外链建设与文章发布规范武汉网站推广优化
  • 企业微信开发者最新seo新手教程
  • 公司推广网站怎么做磁力猫torrent kitty
  • 网站准备建设的内容郑州学校网站建设
  • 梅州公司做网站百度推广登录入口登录
  • 最好看免费观看高清大全电影网站互联网营销师有什么用
  • 橙子建站 推广如何在百度打广告
  • 做网站与做游戏那个好网站流量数据分析
  • 网站建设感恩企业网站推广有哪些方式
  • 高质量的合肥网站建设前端seo是什么意思
  • 网站的规划与建设爱站网使用体验
  • 建设商务公司网站seo专家招聘
  • 软件公司做网站吗网络营销推广的手段
  • 网站改自适应 做自适应怎么做网站排名
  • 软件下载网站如何建设互联网推广方案怎么写
  • 网站建设文案头条今日头条新闻
  • wordpress调用标签工具谷歌seo博客
  • 家校互动平台百度关键词优化专家
  • 网站备案注销申请表在百度上怎么卖自己的产品
  • 网站建设中...深圳网站优化培训
  • 专门做二手房车的网站东莞免费网站建设网络营销
  • 网站开发怎么拉客户今日新闻大事件
  • 江苏省建设信息网站管理平台一句话让客户主动找你
  • 重庆食品公司360优化大师官方网站
  • 网站开发语言 微信接口seo网站培训班