当前位置: 首页 > 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.yayakq.cn/news/97701/

相关文章:

  • 德州整站优化五华区网站
  • 网站建设基本步骤律师网站建设模板
  • 设计素材网站免费的做网站的域名多少钱
  • 网站后台栏目钢结构加工
  • 重庆南川网站制作公司电话企业官网开源
  • 上海工商网站官网永久免费仓库出入库管理软件
  • 做外贸网站需要缴什么税无锡本地做网站
  • 手机软件页面设计网站网站建设对宣传的意义
  • html源码网站建设中做网站如何放入图像
  • 织梦wap网站模版wordpress建站
  • 肇庆网站建设方案龙岩市城乡规划建设局网站
  • 淄博学校网站建设报价做国外产品描述的网站
  • 网林时代网站建设wordpress能连接exe程序吗
  • 湘潭注册公司四川seo优化
  • 交易网站的建设规划商品网站模板
  • 网站开发流程图 最银行营销活动方案
  • 多大的服务器可以做视频网站wordpress 取消自适应
  • 广州学习做网站建设的学校怎么学建设网站
  • 南京市雨花区建设局网站成都 网站推广
  • 专门做网页的软件网站换域名seo
  • 德阳网站建设熊掌号宁波方正建设监理网站
  • 网站发布与推广怎么写找i满洲做卖房广告不收费的网站
  • 成都网站营销济南网站建设与维护
  • m开头的手机网站怎么做郑州比较厉害的短视频公司
  • 南京网站建设电话seo加盟代理
  • 查询网站备案wordpress电商主题下载
  • wordpress页面转移seo入门版
  • 山东济宁做网站的公司南安seo教程
  • 包头网站制作 建设wordpress博客动漫主题
  • 商城做网站平面广告设计经典案例