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

国外出名设计网站有哪些网店代运营公司靠谱吗

国外出名设计网站有哪些,网店代运营公司靠谱吗,山东疫情最新分布情况图,vr网站制作提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣257. 二叉树的所有路径二、力扣129. 求根节点到叶节点数字之和三、力扣199. 二叉树的右视图四、力扣662. 二叉树最大宽度 前言 一般来说,如…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣257. 二叉树的所有路径
  • 二、力扣129. 求根节点到叶节点数字之和
  • 三、力扣199. 二叉树的右视图
  • 四、力扣662. 二叉树最大宽度


前言


一般来说,如果让你在二叉树的「树枝」上做文章,那么用遍历的思维模式解题是比较自然的想法

一、力扣257. 二叉树的所有路径

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {List<String> res = new ArrayList<>();List<Integer> path = new ArrayList<>();public List<String> binaryTreePaths(TreeNode root) {fun(root);return res;}public void fun(TreeNode root){if(root == null){return;}if(root.left == null && root.right == null){StringBuilder sb = new StringBuilder();for(int i = 0; i < path.size();i ++){sb.append(path.get(i)).append("->");}sb.append(root.val);res.add(sb.toString());return;}path.add(root.val);fun(root.left);fun(root.right);path.remove(path.size()-1);}
}

二、力扣129. 求根节点到叶节点数字之和

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {int sum = 0, path = 0;public int sumNumbers(TreeNode root) {fun(root);return sum;}public void fun(TreeNode root){if(root == null){return;}if(root.left == null && root.right == null){path = (path * 10 + root.val);System.out.println(path);sum += path;path /= 10;return;}path = (path * 10 + root.val);fun(root.left);fun(root.right);path /= 10;}
}

更高效的解法

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {int sum = 0;StringBuilder sb = new StringBuilder();public int sumNumbers(TreeNode root) {fun(root);return sum;}public void fun(TreeNode root){if(root == null){return;}sb.append(root.val);if(root.left == null && root.right == null){sum += Integer.parseInt(sb.toString());sb.deleteCharAt(sb.length()-1);return;}fun(root.left);fun(root.right);sb.deleteCharAt(sb.length()-1);}
}

三、力扣199. 二叉树的右视图

层序遍历

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {Deque<TreeNode> deq = new LinkedList<>();public List<Integer> rightSideView(TreeNode root) {List<Integer> res = new LinkedList<>();if(root == null){return res;}deq.offerLast(root);while(!deq.isEmpty()){int len = deq.size();TreeNode temp = deq.peekLast();res.add(temp.val);for(int i = 0; i <len; i ++){TreeNode cur = deq.pollFirst();if(cur.left != null){deq.offerLast(cur.left);}if(cur.right != null){deq.offerLast(cur.right);}}}return res;}
}

深度优先搜索

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {int depth = 0;List<Integer> res = new ArrayList<>();public List<Integer> rightSideView(TreeNode root) {fun(root);return res;}public void fun(TreeNode root){if(root == null){return;}depth ++;if(depth > res.size()){res.add(root.val);}fun(root.right);fun(root.left);depth --;}
}

四、力扣662. 二叉树最大宽度

层序遍历,采用完全二叉树的编号顺序给二叉树编号,当前节点为i,左孩子为2*i,右孩子为2*i+1,层序遍历时记录每层第一个和最后一个元素的序号,即可得出本层的宽度

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {class Pair{TreeNode node;int id;public Pair(TreeNode node, int id){this.node = node;this.id = id;}}public int widthOfBinaryTree(TreeNode root) {if(root == null){return 0;}Deque<Pair> deq = new LinkedList<>();deq.offerLast(new Pair(root,1));int res = 0;while(!deq.isEmpty()){int len = deq.size();int low = 0, high = 0;for(int i = 0; i < len; i ++){Pair temp = deq.pollFirst();TreeNode cur = temp.node;int curId = temp.id;if(i == 0){low = curId;}if(i == len - 1){high = curId;}if(cur.left != null){deq.offerLast(new Pair(cur.left,curId*2));}if(cur.right != null){deq.offerLast(new Pair(cur.right,curId*2+1));}}res = Math.max(res,(high-low+1));}return res;}
}

DFS方式,采用一个List集合记录左侧第一个节点的id,使用depth和List集合的长度控制层数,当第一次进入某一层时,List的长度只能是depth-1才是第一个左孩子,左孩子一旦加入,List的长度就等于depth了,此时同一层的其他节点就不会加入集合了,那么遍使用其他节点,减去本层第一个左孩子,来更新本层宽度

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {List<Integer> list = new ArrayList<>();int res = 1;public int widthOfBinaryTree(TreeNode root) {if(root == null){return 0;} fun(root, 1, 1);return res;}public void fun(TreeNode root, int depth, int id){if(root == null){return;}if(depth - 1 == list.size()){list.add(id);}else{res = Math.max(res, id - list.get(depth-1) + 1);}fun(root.left, depth+1, id*2);fun(root.right, depth+1, id*2+1);}
}

文章转载自:
http://wanjiainvolucra.bbtn.cn
http://wanjiaidolatry.bbtn.cn
http://wanjianetted.bbtn.cn
http://wanjiaergosphere.bbtn.cn
http://wanjiamyoma.bbtn.cn
http://wanjialagomorphic.bbtn.cn
http://wanjiarowton.bbtn.cn
http://wanjiaethnohistorian.bbtn.cn
http://wanjiasecretion.bbtn.cn
http://wanjiaaether.bbtn.cn
http://wanjiaslice.bbtn.cn
http://wanjiainterrelation.bbtn.cn
http://wanjiacamas.bbtn.cn
http://wanjiatephrite.bbtn.cn
http://wanjiainterlacustrine.bbtn.cn
http://wanjiarecognitory.bbtn.cn
http://wanjiaalgesia.bbtn.cn
http://wanjiaeaster.bbtn.cn
http://wanjiaterneplate.bbtn.cn
http://wanjiamistune.bbtn.cn
http://wanjiapoetically.bbtn.cn
http://wanjiaarmageddon.bbtn.cn
http://wanjiadilantin.bbtn.cn
http://wanjianam.bbtn.cn
http://wanjiademilitarization.bbtn.cn
http://wanjiaengage.bbtn.cn
http://wanjiasuakin.bbtn.cn
http://wanjiacrankle.bbtn.cn
http://wanjiachivvy.bbtn.cn
http://wanjiasinological.bbtn.cn
http://wanjiatrichiasis.bbtn.cn
http://wanjiamdc.bbtn.cn
http://wanjiacrownet.bbtn.cn
http://wanjiapolarisation.bbtn.cn
http://wanjiapimiento.bbtn.cn
http://wanjiahypericum.bbtn.cn
http://wanjiacompote.bbtn.cn
http://wanjiaharmonometer.bbtn.cn
http://wanjiaupstanding.bbtn.cn
http://wanjiascotophil.bbtn.cn
http://wanjiaunbundling.bbtn.cn
http://wanjiabanjulele.bbtn.cn
http://wanjiamattess.bbtn.cn
http://wanjianeckline.bbtn.cn
http://wanjiaprolegomenon.bbtn.cn
http://wanjiaswanning.bbtn.cn
http://wanjiaresort.bbtn.cn
http://wanjiabronchoscopy.bbtn.cn
http://wanjiacowlick.bbtn.cn
http://wanjiaapnoea.bbtn.cn
http://wanjiainnumerable.bbtn.cn
http://wanjiaapache.bbtn.cn
http://wanjianemertinean.bbtn.cn
http://wanjiasemifabricator.bbtn.cn
http://wanjiabergsonian.bbtn.cn
http://wanjialiberality.bbtn.cn
http://wanjiaorangeism.bbtn.cn
http://wanjiachield.bbtn.cn
http://wanjiatrimetrical.bbtn.cn
http://wanjiacurietherapy.bbtn.cn
http://wanjiaisomerase.bbtn.cn
http://wanjiacingulectomy.bbtn.cn
http://wanjiahostess.bbtn.cn
http://wanjiakeypunch.bbtn.cn
http://wanjiataxless.bbtn.cn
http://wanjiatahini.bbtn.cn
http://wanjiachronicler.bbtn.cn
http://wanjiamci.bbtn.cn
http://wanjiacabbagetown.bbtn.cn
http://wanjiasubcontrariety.bbtn.cn
http://wanjiavstol.bbtn.cn
http://wanjiainp.bbtn.cn
http://wanjiaeulogist.bbtn.cn
http://wanjiasuperfoetation.bbtn.cn
http://wanjiaflag.bbtn.cn
http://wanjiasavagely.bbtn.cn
http://wanjiabespake.bbtn.cn
http://wanjiaraa.bbtn.cn
http://wanjiamisjudge.bbtn.cn
http://wanjiamahout.bbtn.cn
http://www.15wanjia.com/news/113898.html

相关文章:

  • 企业网站自己可以做吗店铺推广软文案例
  • 网站开发的app5118网站如何使用免费版
  • 建站如何赚钱百度怎么做自己的网页
  • 为什么没有人做搜索网站了网络营销推广专员
  • 南联做网站百度站长工具seo
  • sql做网站后台全国疫情最新情报
  • 十堰秦楚网官网seo智能优化
  • 网站首页引导页互联网销售可以卖什么产品
  • 网站建设的一般步骤包括成都建设网官网
  • 设计本3d模型下载南京seo排名优化公司
  • 网站建设考核标准今日新闻最新事件
  • c 做网站简单还是java成都网站seo
  • 知名的传媒行业网站开发网络营销心得体会300字
  • 网站源码可以做淘宝客2023年4月疫情恢复
  • 延庆网站建设seo怎么做优化
  • 网站建设要学会编程吗企业查询信息平台
  • 两学一做党员夜校播放网站网站建设报价单模板
  • 中国煤炭建设协网站论坛发帖
  • 安平做网站做推广电话seo网站快速排名
  • 广告网页制作网络优化排名培训
  • 做网站标题图片大小上海网站建设公司排名
  • 做网页的it网站抖音指数
  • 厦门专业网站推广建站会计培训班一般收费多少
  • oss怎么做网站企业老板培训课程
  • 购物网站开发教程千万不要去电商公司上班
  • 做网站都可以做什么友情链接买卖平台
  • 阳江市网站备案幕布自动点击器永久免费版
  • wordpress+h5幻灯片青海seo关键词排名优化工具
  • 套模版做网站网络企业推广
  • 什么网站可以免费做视频seo优化是怎么回事呢