LeetCode 1522. N 叉树的直径

news/2024/11/29 8:01:52/

LeetCode 1522. N 叉树的直径

文章目录

  • LeetCode 1522. N 叉树的直径
  • 题目描述
  • 一、解题关键词
  • 二、解题报告
    • 1.思路分析
    • 2.时间复杂度
    • 3.代码示例
    • 2.知识点
  • 总结
  • 相同题目

题目描述

给定一棵 N 叉树的根节点 root ,计算这棵树的直径长度。
N 叉树的直径指的是树中任意两个节点间路径中 最长 路径的长度。这条路径可能经过根节点,也可能不经过根节点。
(N 叉树的输入序列以层序遍历的形式给出,每组子节点用 null 分隔)
  示例 1:
  输入:root = [1,null,3,2,4,null,5,6]
  输出:3

LeetCode 1522. N 叉树的直径
提示:

    N 叉树的深度小于或等于 1000 。节点的总个数在 [0, 10^4] 间。

一、解题关键词


二、解题报告

1.思路分析

2.时间复杂度

3.代码示例

class Solution {int max = 0;public int diameter(Node root) {dfs(root,0);return max;}int dfs(Node node,int deep){if(node == null) return deep - 1;int childMaxDeep = deep;int max1 = 0;int max2 = 0;for(Node child : node.children){int childDeep = dfs(child,deep + 1);childMaxDeep = Math.max(childMaxDeep,childDeep);if(childDeep > max1){max2 = max1;max1 = childDeep;}else if(childDeep > max2){max2 = childDeep;}}max = Math.max(max,max1 + max2 -deep -deep);return childMaxDeep;}
}

2.知识点

递归计算 、DFS

总结

相同题目

xxx


http://www.ppmy.cn/news/280928.html

相关文章

jzoj P1522 无线网络

题目大意: 一个由n台计算机组成的无线网络,每台计算机都能跟与它距离不超过d的任何计算机通讯。地震时,所有计算机都瘫痪了。在修复的过程中,他们需要测试一下某两台计算机能否通讯(如果他们能通过别的正常的计算机进行通讯&…

51Nod - 1522 区间dp

题意: 题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId1522 思路: 很好的区间dp。 从1开始填起,两个1能存在的位置分别是1和2,1和2*n,2*n-1和2*n。根据每种不同的填法&#x…

LeetCode 1522. Diameter of N-Ary Tree(递归)

文章目录 1. 题目2. 解题 1. 题目 Given a root of an N-ary tree, you need to compute the length of the diameter of the tree. The diameter of an N-ary tree is the length of the longest path between any two nodes in the tree. This path may or may not pass th…

以太网帧长度1518、1522、1536的说明

一、IEEE802.3 以太网帧结构: Preamble (7-bytes) --前导码 Start Frame Delimiter (1-byte) --定界符 Dest. MAC Address (6-bytes) --目的地址 Source MAC Address (6-bytes) &#xf…

Leetcode 1522. Diameter of N-Ary Tree (python+cpp)

Leetcode 1522. Diameter of N-Ary Tree 题目:解法: 题目: 解法: 这是543的follow up,解法几乎是一样的,只不过左子树和右子树的深度替换成所有子树里面深度最大的两个 class Solution:def diameter(self…

洛谷P1522牛的旅行——floyd

题目:https://www.luogu.org/problemnew/show/P1522 懒于仔细分情况而直接像题解那样写floyd然后不明白最后一步max的含义了... 分开考虑怎么保证在一个内呢?如果新连边的min与原直径的max在三个连通块里怎么办? 代码如下: #inclu…

洛谷p-1522又是Floyd

挺简单一个题&#xff0c;可惜当时没想到&#xff0c;有点巧妙丫&#xff01; #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #define maxn 255 using namespace std; char list[maxn][maxn]; do…