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

法院网站内容建设郑州网络推广平台

法院网站内容建设,郑州网络推广平台,深圳网站建设哪个最好,网页制作个人简历教程543. 二叉树的直径 - 力扣(LeetCode) 一、题目 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 : 给定二叉树 1 / \ 2 3 …

543. 二叉树的直径 - 力扣(LeetCode)

一、题目

给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。

示例 :
给定二叉树

          1
         / \
        2   3
       / \     
      4   5    
返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。

注意:两结点之间的路径长度是以它们之间边的数目表示。

二、代码

/*** 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 {public int diameterOfBinaryTree(TreeNode root) {return process(root).maxDistance - 1;}// 信息类public  class Info {// 当前树的最大距离public int maxDistance;// 当前树的高度public int height;public Info(int m, int h) {maxDistance = m;height = h;}}// 二叉树递归求解public Info process(TreeNode x) {// 如果是一个空树,那么这棵树的最大距离就是0,高度也是0      递归出口if (x == null) {// 这个就属于空置比较好处理的,所以就不向上返回null让上层去处理了,而是直接在本层创建好对应的info返回return new Info(0, 0);}// 左右子树向下递归   向下递归的位置// 递归返回左子树的infoInfo leftInfo = process(x.left);// 递归返回右子树的infoInfo rightInfo = process(x.right);// 当前树的告诉就是左右子树最大高度 + 1int height = Math.max(leftInfo.height, rightInfo.height) + 1;// 左树最大距离int p1 = leftInfo.maxDistance;// 右树最大距离int p2 = rightInfo.maxDistance;// 左树最大高度 + 右树最大高度 + 1int p3 = leftInfo.height + rightInfo.height + 1;// 当前树的最大距离就是p1、p2、p3中最大值int maxDistance = Math.max(Math.max(p1, p2), p3);// 创建当前树的info并返回       连接每一层递归的接口return new Info(maxDistance, height);}}

三、解题思路 

根据题意,列出来可能性。将这道题抽象成求以X为根节点的树的最大距离

可能性分类:1、最大距离与X无关   2、最大距离与X有关。

1、与X无关

也就是说X树上最大距离的路径是不通过X的,那么X树的最大距离就是X左子树最大距离和X右子树最大距离的最大值

2、与X有关

也就是说X树上最大距离的路径是通过X的,那么X树的最大距离就是 x左树离自己最远的点+ 1 +右树上离自己最远的点。即X左子树的高度 + X右子树的高度 + 1 就是X树的最大距离。

通过分类,我们就在知道在计算X树的最大距离是,应该需要其左右子树提供哪些信息,我们就知道了该如何对X左右子树提要求,进而设计info类。我们需要他们提供自己的高度和最大距离。

http://www.tj-hxxt.cn/news/63413.html

相关文章:

  • 哪里有做配音的兼职网站今日头条十大热点
  • 企业英文网站58网络推广
  • 网站more应该怎么做快速优化网站排名的方法
  • 广东高端网站建设百度用户服务中心人工24小时电话
  • 金泉网做网站多少钱如何做网络推广赚钱
  • 企业网站制作公司电话百度网站排名seo
  • wordpress网站相册seo快速优化报价
  • joomla 和 wordpress泰安seo培训
  • 支付宝网站申请接口如何建立自己的网页
  • 做网站注册会员加入实名认证功能排名优化公司口碑哪家好
  • 做idc销售怎样建网站淘宝流量平台
  • 官方网站建设对比站长之家音效
  • 网站店铺建设杭州最好的电商培训机构
  • 公司做网站之前要准备什么软件太原网站快速排名提升
  • 音乐培训如何做网站宣传网络服务商主要包括
  • 贵阳市建设管理信息网站seo推广哪家公司好
  • 网页升级访问中未满十八岁百度seo排名规则
  • php和什么语言做网站哪里有seo排名优化
  • 十大网购平台有哪些北京aso优化
  • 有哪些网站做的好处优化seo哪家好
  • 昆明网站建设服务seo推广小分享
  • 如何做网站性能优化什么叫外链
  • 新乡河南网站建设百度宣传推广
  • 做网站茶叶首页标题怎么写百度站长平台论坛
  • 阿里云网站建设和部署框架成都营销推广公司
  • 网上做任务赚钱网站有哪些semantic scholar
  • 做网站去哪推广好阿里云空间+1对1私人专属设计师
  • 临河网站建设seo详细教程
  • 网站做视频厦门seo排名公司
  • 一台主机做两个网站网络营销策划书1000字