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

广州网站建设 app 小程序百度容易收录哪些网站

广州网站建设 app 小程序,百度容易收录哪些网站,怎么在网站标头做图标,程序员和软件开发的区别找树左下角的值 题目 参考文章 思路#xff1a;这里寻找最左下角的值#xff0c;其实用前中后序都是可以的#xff0c;只要保证第一遍历的是左边开始就可以。设置Deep记录遍历的最大深度#xff0c;deep记录当前深度。当遇到叶子节点时而且当前深度比最大深度还大则更换最…找树左下角的值 题目 参考文章 思路这里寻找最左下角的值其实用前中后序都是可以的只要保证第一遍历的是左边开始就可以。设置Deep记录遍历的最大深度deep记录当前深度。当遇到叶子节点时而且当前深度比最大深度还大则更换最大深度为deep并存储当前节点的值这个时候说明遇到的就是当前深度下最左边的叶子节点但不一定是最最大深度的最左边的叶子节点还要继续往后遍历。最后value存储的结果就是最大深度下最左下角的值了 代码 class Solution {private int Deep -1;private int value 0;public int findBottomLeftValue(TreeNode root) {value root.val;findLeftValue(root,0);return value;}private void findLeftValue (TreeNode root,int deep) {if (root null) return;if (root.left null root.right null) {if (deep Deep) {value root.val;Deep deep;}}if (root.left ! null) findLeftValue(root.left,deep 1);if (root.right ! null) findLeftValue(root.right,deep 1);} } 路径总和 题目1 题目2 参考文章 思路1其实这里的用前中后序都是可以的重要的是回溯的过程。每次遍历节点就把target值减去当前节点值然后判断是否为叶子节点如果是叶子节点就直接返回true因为题目意思就是遇到一条路径等于target值就直接返回即可。当不是叶子节点且节点不为空就继续遍历节点值直到遇到一条路径等于target就一直返回true到根节点否则就是返回false 代码1 class Solution {public boolean hasPathSum(TreeNode root, int targetSum) {if (root null) {return false;}targetSum - root.val;// 叶子结点if (root.left null root.right null) {return targetSum 0;}if (root.left ! null) {boolean left hasPathSum(root.left, targetSum);if (left) { return true;}}if (root.right ! null) {boolean right hasPathSum(root.right, targetSum);if (right) { return true;}}return false;} } 思路2 这题和题目1其实思路一样只是不是直接返回true而是把这条路径的值全部存起来最后把所有等于target值的路径输出 代码2 class Solution {public ListListInteger pathSum(TreeNode root, int targetSum) {ListListInteger res new ArrayList();if (root null) return res; ListInteger path new LinkedList();preorderdfs(root, targetSum, res, path);return res;}public void preorderdfs(TreeNode root, int targetsum, ListListInteger res, ListInteger path) {path.add(root.val);// 遇到了叶子节点if (root.left null root.right null) {// 找到了和为 targetsum 的路径if (targetsum - root.val 0) {res.add(new ArrayList(path));}return; // 如果和不为 targetsum返回}if (root.left ! null) {preorderdfs(root.left, targetsum - root.val, res, path);path.remove(path.size() - 1); // 回溯}if (root.right ! null) {preorderdfs(root.right, targetsum - root.val, res, path);path.remove(path.size() - 1); // 回溯}} } 从中序与后序遍历序列构造二叉树 题目 参考文章 思路其实这道题就是理解二叉树的一个过程构建二叉树首先得知道前序中序或中序后序知道前序后序是不能构造二叉树的。以后序中序为例这里重要的是找到根节点以及找到根节点后如何分割这个后序中序数组。后序数组中最后一个元素就是根节点然后通过这个根节点的值找到在对应中序的下标index找到下标之后就是分割后序中序数组通过index找到左中序右中序以及左后序和右后序重点注意右中序因为涉及数组溢出和超出数组范围的情况主要是因为在中序数组中间会出现要构建子树的情况得到分割后的数组就继续调用构建树的方法即可 代码 class Solution {public TreeNode buildTree(int[] inorder, int[] postorder) {if(postorder.length 0 || inorder.length 0)return null;return buildHelper(inorder, 0, inorder.length, postorder, 0, postorder.length);}private TreeNode buildHelper(int[] inorder, int inorderStart, int inorderEnd, int[] postorder, int postorderStart, int postorderEnd){if(postorderStart postorderEnd)return null;int rootVal postorder[postorderEnd - 1];TreeNode root new TreeNode(rootVal);int middleIndex;for (middleIndex inorderStart; middleIndex inorderEnd; middleIndex){if(inorder[middleIndex] rootVal)break;}int leftInorderStart inorderStart; int leftInorderEnd middleIndex;int rightInorderStart middleIndex 1;int rightInorderEnd inorderEnd;int leftPostorderStart postorderStart;int leftPostorderEnd postorderStart (middleIndex - inorderStart);//这个是为了防止数组溢出因为有可能中序数组中间部分是要构建树的所以postorderStart和inorderStart可能不为零的情况所以要减去int rightPostorderStart leftPostorderEnd;int rightPostorderEnd postorderEnd - 1;root.left buildHelper(inorder, leftInorderStart, leftInorderEnd, postorder, leftPostorderStart, leftPostorderEnd);root.right buildHelper(inorder, rightInorderStart, rightInorderEnd, postorder, rightPostorderStart, rightPostorderEnd);return root;} }
http://www.w-s-a.com/news/541508/

相关文章:

  • 网站设计素材edu域名网站
  • 中山学校的网站建设wordpress文章图片显示不出
  • 兰溪城市建设规划网站网站联盟的基本流程
  • 免费推广网站注册入口小说阅读网站怎么建设
  • 新网站怎么做网络推广怎么做企业网站排名
  • jsp商业网站开发网站链接如何做二维码
  • 江苏高校品牌专业建设网站怎么制作网站搜索窗口
  • 北京app建设 网站开发公司织梦网站seo
  • 大学网站 作风建设专题汽车配件外贸出口公司
  • 东莞做网站系统购物网站建设精英
  • 建设vip网站相关视频网站营销建设公司
  • 微站直播平台杭州seo按天计费
  • seo 新旧网站 两个域名福州设计网站建设
  • 如何做网站客户端如何做网络营销网站
  • 苏州网站建设制度打鱼网站建设
  • 瓜子二手车直卖网上海小红书seo
  • 天津中小企业网站制作珠海做网站的
  • 网站排名影响因素最牛的科技网站建设
  • 长春网站建设公司怎么样电商网站建设与开发期末考试
  • 品牌网站建设搭建国内外网站建设
  • 辽宁人社app一直更新整站seo定制
  • 兰州网站建设论坛装修品牌
  • 云南省城乡住房与建设厅网站用什么网站可以做电子书
  • 自己电脑怎么做网站服务器吗0基础如何做网站
  • 做网站的股哥网络整合营销方案策划
  • 网站你懂我意思正能量晚上唯品会网站开发费用
  • 网站认证金额怎么做分录网页无法访问是怎么回事
  • 樟木头建网站的wordpress自适应吸附菜单
  • 番禺网站设计威海微网站建设
  • 新乡网站建设服务网站建设的点子