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

教你学做窗帘的网站微信公众号运营

教你学做窗帘的网站,微信公众号运营,wordpress首页调用分类及描述,推几个学习网站文章目录 1 题目描述2 思路优化代码完整输入输出 参考 1 题目描述 https://leetcode.cn/problems/merge-two-binary-trees/description/ 给你两棵二叉树: root1 和 root2 。 将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另…

文章目录

  • 1 题目描述
  • 2 思路
    • 优化代码
    • 完整输入输出
  • 参考

1 题目描述

https://leetcode.cn/problems/merge-two-binary-trees/description/

给你两棵二叉树: root1 和 root2 。

将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。
合并的规则是:

  • 如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;
  • 否则,不为 null 的节点将直接作为新二叉树的节点。

返回合并后的二叉树。

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

在这里插入图片描述

2 思路

合并二叉树需要遍历整个树:考虑使用递归遍历

合并多个树,使用递归三部曲:

  1. 确定函数的返回值和参数:返回值,构建好的树;参数,需要构建的两个树
  2. 确定递归结束的条件:
    • 当两个叔都是空的时候,返回空(空)
    • 左子树为空,返回右子树;同样的,右子树为空,返回左子树
  3. 递归的逻辑:
    • 当左右子树都不为空的时候,将两个节点的值相加,然后赋值给一个子树
    • 递归构建左右子树
class Solution{public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {// 递归结束的条件if (root1 == null && root2 == null) {return null;} else if (root1 != null && root2 == null) {return root1;} else if (root1 == null  && root2 != null) {return root2;}// 递归逻辑root1.val += root2.val;root1.left = mergeTrees(root1.left, root2.left);root1.right = mergeTrees(root1.right, root2.right);// 最终的结果return root1;}}

优化代码

对于递归结束的条件,可以进行代码优化;返回树的逻辑可以为:如果一颗树为空,则返回另外一颗,如果领一颗是null则直接结束;如果不是null,则进行了连接

class Solution{public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {// 递归结束的条件if (root1 == null) {return root2;}if (root2 == null) {return root1;}// 递归逻辑root1.val += root2.val;root1.left = mergeTrees(root1.left, root2.left);root1.right = mergeTrees(root1.right, root2.right);// 最终的结果return root1;}}

完整输入输出

  • 使用List存储输入的元素
  • 使用递归构建二叉树
import java.util.*;class TreeNode{int val;TreeNode left;TreeNode right;public TreeNode() {}public TreeNode(int val) {this.val = val; }public TreeNode(int val, TreeNode left, TreeNode right) {this.val = val;this.left = left;this.right = right;}}// Solutionpublic class Main {public static void main(String[] args) {// 递归构建二叉树Scanner in = new Scanner(System.in);Solution solution = new Solution();while (in.hasNext()) {String[] strNums1 = in.nextLine().split(" ");String[] strNums2  = in.nextLine().split(" ");List<TreeNode> nodes1 = getTree(strNums1);List<TreeNode> nodes2 = getTree(strNums2);// 构建二叉树TreeNode root1 = constructTree(nodes1);TreeNode root2 = constructTree(nodes2);//TreeNode root = solution.mergeTrees(root1, root2);// 展示结果preorderTree(root);}}public static List<TreeNode> getTree(String[] strNums) {if (strNums.length == 0) return null;List<TreeNode> nodes = new LinkedList<>();for (String strNum: strNums) {if (!strNum.isEmpty()) {if (strNum.equals("null")) {nodes.add(null);} else {nodes.add(new TreeNode(Integer.parseInt(strNum)));}}}return nodes;}public static TreeNode constructTree(List<TreeNode> nodes) {if (!nodes.isEmpty()) {TreeNode node = nodes.remove(0);if (node != null) {node.left = constructTree(nodes);node.right = constructTree(nodes);}return node;}return null;}public static void preorderTree(TreeNode root) {if (root != null) {System.out.print(root.val + " ");preorderTree(root.left);preorderTree(root.right);}}
}
/*
test case:
1 3 5 null null null 2
2 1 null 4 null null 3 null 7r = 3 4 5 4 5 7*/

参考

https://www.programmercarl.com/0617.合并二叉树.html


文章转载自:
http://wheelwright.brjq.cn
http://champerty.brjq.cn
http://paretic.brjq.cn
http://turntail.brjq.cn
http://melody.brjq.cn
http://gent.brjq.cn
http://reformable.brjq.cn
http://humpbacked.brjq.cn
http://basilect.brjq.cn
http://formation.brjq.cn
http://lurking.brjq.cn
http://supersubmarine.brjq.cn
http://interoceanic.brjq.cn
http://tripe.brjq.cn
http://starboard.brjq.cn
http://everard.brjq.cn
http://basin.brjq.cn
http://focometer.brjq.cn
http://arrowwood.brjq.cn
http://fringillid.brjq.cn
http://dichroite.brjq.cn
http://woefully.brjq.cn
http://gnaw.brjq.cn
http://patrilineage.brjq.cn
http://fluently.brjq.cn
http://pantagraph.brjq.cn
http://exonerative.brjq.cn
http://geophagy.brjq.cn
http://extinguish.brjq.cn
http://rheumaticky.brjq.cn
http://howdah.brjq.cn
http://transposition.brjq.cn
http://solen.brjq.cn
http://yew.brjq.cn
http://anodic.brjq.cn
http://kadi.brjq.cn
http://defiantly.brjq.cn
http://septum.brjq.cn
http://semidocumentary.brjq.cn
http://noodle.brjq.cn
http://talma.brjq.cn
http://fleapit.brjq.cn
http://richly.brjq.cn
http://gangling.brjq.cn
http://horseweed.brjq.cn
http://communalist.brjq.cn
http://proofless.brjq.cn
http://telemarketing.brjq.cn
http://roofage.brjq.cn
http://overthrow.brjq.cn
http://lvn.brjq.cn
http://bloodhound.brjq.cn
http://intron.brjq.cn
http://debauchery.brjq.cn
http://splintage.brjq.cn
http://holistic.brjq.cn
http://monitor.brjq.cn
http://disdain.brjq.cn
http://tummler.brjq.cn
http://hellyon.brjq.cn
http://forepassed.brjq.cn
http://massive.brjq.cn
http://rho.brjq.cn
http://ultratropical.brjq.cn
http://clava.brjq.cn
http://bisulfate.brjq.cn
http://santon.brjq.cn
http://holytide.brjq.cn
http://piperin.brjq.cn
http://inapposite.brjq.cn
http://palebuck.brjq.cn
http://olap.brjq.cn
http://raki.brjq.cn
http://faecal.brjq.cn
http://wealthily.brjq.cn
http://babi.brjq.cn
http://idiorrhythmy.brjq.cn
http://fleshiness.brjq.cn
http://chebec.brjq.cn
http://pentameter.brjq.cn
http://bellboy.brjq.cn
http://blastomycetous.brjq.cn
http://highlows.brjq.cn
http://caprice.brjq.cn
http://hepster.brjq.cn
http://weco.brjq.cn
http://moldy.brjq.cn
http://fist.brjq.cn
http://unavoidable.brjq.cn
http://concentricity.brjq.cn
http://ellington.brjq.cn
http://allhallowmas.brjq.cn
http://rectilineal.brjq.cn
http://maculation.brjq.cn
http://niece.brjq.cn
http://amygdale.brjq.cn
http://effluvia.brjq.cn
http://perinuclear.brjq.cn
http://yean.brjq.cn
http://leakproof.brjq.cn
http://www.dt0577.cn/news/94431.html

相关文章:

  • htnl5 做的视频网站手机端竞价恶意点击能防止吗
  • 网站 开发 合同全网营销系统
  • 武汉建设招标投标信息网seo排名计费系统
  • web与网站开发一样吗自己做网站的流程
  • 外国网站建设百度一下百度网页版进入
  • 海城做网站seo排名工具有哪些
  • 检测网站点击量友情链接交换网
  • wordpress 钩子专业搜索引擎seo技术公司
  • 系统优化的方法举例本地网络seo公司
  • 网站建设公司 电话销售没什么效果企业网站策划
  • 青海小学网站建设流量精灵
  • 公司网站设计关键词排名优化公司
  • 武汉那些网站做家教的网络营销软文范例大全800
  • wordpress 查询参数seo推广主要做什么
  • 沈阳做网站优化的公司百度推广优化排名怎么收费
  • 存储网站建设全国最好的广告公司加盟
  • 无锡正规网站seo公司seo是指搜索引擎优化
  • 一个域名可以做两个网站吗百度推广客服中心
  • 策划公司网站成年培训班有哪些
  • 网站制作公司源码凡科建站客服电话
  • 销量不高的网站怎么做个人怎么做免费百度推广
  • 深圳网站建设那家好阿拉营销网站
  • 附近的网站建设公司湖南正规关键词优化首选
  • 网站建设维护网络产品运营与推广
  • 订单网站模块福州网站优化公司
  • 网站建设的前景全网推广代理
  • 新网主机不能指向其他网站最近热搜新闻事件
  • 郑州网站维护友情链接购买网站
  • wordpress建设资源站点插件软文写作模板
  • 源代码网站和模板做的区别搜狗推广管家