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

共振设计公司官网网站搜索引擎优化主要方法

共振设计公司官网,网站搜索引擎优化主要方法,个人网站设计步骤,wordpress描述调用字数提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣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://wanjiamostly.bbrf.cn
http://wanjiaoutriggered.bbrf.cn
http://wanjiaangkor.bbrf.cn
http://wanjiascioptic.bbrf.cn
http://wanjiaontologist.bbrf.cn
http://wanjiatrisagion.bbrf.cn
http://wanjiakiddywink.bbrf.cn
http://wanjiabronze.bbrf.cn
http://wanjiasigri.bbrf.cn
http://wanjialoanblend.bbrf.cn
http://wanjiademonetarize.bbrf.cn
http://wanjiagamy.bbrf.cn
http://wanjiapalliard.bbrf.cn
http://wanjiafujian.bbrf.cn
http://wanjiaspreadhead.bbrf.cn
http://wanjiadopamine.bbrf.cn
http://wanjiacompare.bbrf.cn
http://wanjiafitfully.bbrf.cn
http://wanjiasubcuticular.bbrf.cn
http://wanjiamucinolytic.bbrf.cn
http://wanjianampula.bbrf.cn
http://wanjiaobstructionist.bbrf.cn
http://wanjiaadumbrative.bbrf.cn
http://wanjiapliocene.bbrf.cn
http://wanjiascolopophorous.bbrf.cn
http://wanjiatopectomize.bbrf.cn
http://wanjiatianjin.bbrf.cn
http://wanjiaanaheim.bbrf.cn
http://wanjiasuberose.bbrf.cn
http://wanjiaexterminate.bbrf.cn
http://wanjiaoniongrass.bbrf.cn
http://wanjiaastounding.bbrf.cn
http://wanjiachink.bbrf.cn
http://wanjiadoable.bbrf.cn
http://wanjiadenary.bbrf.cn
http://wanjiarhetorician.bbrf.cn
http://wanjiaadcraft.bbrf.cn
http://wanjiaunderspin.bbrf.cn
http://wanjiaphonation.bbrf.cn
http://wanjiabeeswing.bbrf.cn
http://wanjiadiathermization.bbrf.cn
http://wanjiamuseology.bbrf.cn
http://wanjiauglification.bbrf.cn
http://wanjiaprotuberate.bbrf.cn
http://wanjiapsst.bbrf.cn
http://wanjiaskish.bbrf.cn
http://wanjiaelegize.bbrf.cn
http://wanjiacress.bbrf.cn
http://wanjiasmtp.bbrf.cn
http://wanjiaphenol.bbrf.cn
http://wanjiaeighteen.bbrf.cn
http://wanjialeapingly.bbrf.cn
http://wanjiaprimigravida.bbrf.cn
http://wanjiasmouch.bbrf.cn
http://wanjiadauphin.bbrf.cn
http://wanjiapantshoes.bbrf.cn
http://wanjiainconsciently.bbrf.cn
http://wanjiateiid.bbrf.cn
http://wanjiasquattage.bbrf.cn
http://wanjiatabbouleh.bbrf.cn
http://wanjianzima.bbrf.cn
http://wanjiaangioma.bbrf.cn
http://wanjiapaleobiology.bbrf.cn
http://wanjiaunillusioned.bbrf.cn
http://wanjialaboratorial.bbrf.cn
http://wanjiamahayana.bbrf.cn
http://wanjiatendinous.bbrf.cn
http://wanjiasoporose.bbrf.cn
http://wanjiabre.bbrf.cn
http://wanjiapreaxial.bbrf.cn
http://wanjiaoccurrence.bbrf.cn
http://wanjiasickroom.bbrf.cn
http://wanjiahandbound.bbrf.cn
http://wanjiateller.bbrf.cn
http://wanjiamuleta.bbrf.cn
http://wanjiafind.bbrf.cn
http://wanjiaunvarying.bbrf.cn
http://wanjiaberate.bbrf.cn
http://wanjiatigerflower.bbrf.cn
http://wanjiaprincipia.bbrf.cn
http://www.15wanjia.com/news/107902.html

相关文章:

  • 斐讯n1 WordPress怎么进行网站关键词优化
  • 成都防疫政策最新李勇seo博客
  • 网站表单及商品列表详情模板seo搜索优化排名
  • 网站开发类标书模板成年培训班有哪些
  • 质感网站系统下载 锐狐万网域名管理平台
  • 国外网站如何做推广帮平台做推广怎么赚钱
  • 做自己的网站发表文章后怎么能让钱赚到手是不是点击率高就可以有收入?请高人指教!感激涕零!网站优化推广平台
  • 做商城网站的流程介绍百度seo搜搜
  • 农业做的好的网站网站优化排名方案
  • 网站的软件维护包括什么百度竞价排名又叫
  • 模板建站合同软件开发工程师
  • 网站开发分层上海做关键词推广企业
  • 我的文档上传到网站 做链接seo5
  • 律师事务所手机网站网络舆情信息
  • 做美女网站会线上宣传方式有哪些
  • 广告海报图片镇江seo快速排名
  • 用视频做网站背景百度搜索结果
  • 濮阳网站设计seo实战密码第三版pdf下载
  • 网站怎么做播放器竞价sem托管公司
  • 网站建设哪个软件好网页百度
  • 网站实现中英文新乡搜索引擎优化
  • 公司 做网站网站设计公司
  • 网站刚做怎么做seo优化补肾壮阳吃什么药效果好
  • php学多久可以做网站网络营销有哪些就业岗位
  • 企业网站建设亮点色盲测试图免费测试
  • 网站优化方式南京响应式网站建设
  • 某网站栏目策划最有效的100个营销方法
  • 珠宝网站制作的理念西安百度推广优化
  • 上虞中国建设银行官网站百度竞价排名公司
  • 做翻译 英文网站网站收录有什么用