力扣Hot100-543二叉树的直径
创始人
2024-12-16 10:33:45
0

给你一棵二叉树的根节点,返回该树的 直径 。

二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。

两节点之间路径的 长度 由它们之间边数表示。

示例 1:

输入:root = [1,2,3,4,5] 输出:3 解释:3 ,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。 

示例 2:

输入:root = [1,2] 输出:1 

提示:

  • 树中节点数目在范围 [1, 104] 内
  • -100 <= Node.val <= 100

知识点:

二叉树上的任一“路径”上一定有一个结点是所有其他结点的祖先结点(因为“路径”是由一个个父子关系连接而成的),那么换个表述方法,对于任一结点,以此结点为根的diameter就可以表示为左子树高度 + 右子树高度,而二叉树的diameter(直径)就是所有结点为根的diameter中最大的那个。 

思路:使用递归的方法,分别将每一个节点视为根节点,此时通过该节点的直径为左子树高度+右子树高度

在下图中,判断完节点2后要回溯到节点1继续判断,此时节点1的左子树高度为节点2的左子树高度和右子树高度中的最大值,再加1,即l(1)=max[ l(2) ,r(2)]+1,其中l(2)表示节点2的左子树高度

/**  * Definition for a binary tree node.  * struct TreeNode {  *     int val;  *     TreeNode *left;  *     TreeNode *right;  *     TreeNode() : val(0), left(nullptr), right(nullptr) {}  *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}  *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}  * };  */ class Solution { public: //将每一个节点分别看作根节点,两边最大高度相加得到的最大值即为直径 int find(TreeNode* root,int &max,int level){     if(root==NULL)return 0;     int l=find(root->left,max,level+1);     int r=find(root->right,max,level+1);     int d=r+l+1;      if(d>max)max=d;     return l>r? l+1:r+1;//最大直径+1 }     int diameterOfBinaryTree(TreeNode* root) {        int max=0;        int level=0;        int a=find(root,max,level);        return max-1;      } };

相关内容

热门资讯

科普透视!newpoker脚本... 科普透视!newpoker脚本,sohoo竞技联盟辅助器(透视)果然真的是有辅助攻略(哔哩哔哩)1、...
透视方针!如何判断wpk辅助软... 透视方针!如何判断wpk辅助软件的真假(透视)果然存在有辅助下载(哔哩哔哩)1、很好的工具软件,可以...
出乎意料的是!hhpoker德... 出乎意料的是!hhpoker德州作必弊,广西友乐免费辅助使用视频,一贯是有辅助工具(哔哩哔哩)1、每...
玩家必看攻略!微信小程序黑科技... 玩家必看攻略!微信小程序黑科技(外挂),收i就微乐小程序游戏破解器切实真是有挂1、该软件可以轻松地帮...
必备透视!约局吧是否有挂,po... 必备透视!约局吧是否有挂,pokemmo辅助工具(透视)本来有辅助神器(哔哩哔哩)1、约局吧是否有挂...
透视学习!wepoker透视脚... 透视学习!wepoker透视脚本网页(透视)总是是真的辅助下载(哔哩哔哩)1、全新机制【wepoke...
近年来!aapoker辅助插件... 近年来!aapoker辅助插件工具,约局八辅助器,真是有辅助工具(哔哩哔哩)1、约局八辅助器脚本辅助...
一分钟快速了解!微乐小程序黑科... 一分钟快速了解!微乐小程序黑科技(外挂),微信小程序微乐陕西挖坑辅助好像真的有挂在进入微乐小程序黑科...
透视教材!werplan辅助软... 透视教材!werplan辅助软件(透视)确实真的有辅助辅助器(哔哩哔哩)在进入werplan辅助软件...
详细透视!pokemmo修改器... 详细透视!pokemmo修改器手机版,来玩app破解(透视)本来真的是有辅助技巧(哔哩哔哩)该软件可...