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 through the root.

(Nary-Tree input serialization is represented in their level order traversal, each group of children is separated by the null value.)

Example 1:
在这里插入图片描述

Input: root = [1,null,3,2,4,null,5,6]
Output: 3
Explanation: Diameter is shown in red color.

Example 2:
在这里插入图片描述

Input: root = [1,null,2,null,3,4,null,5,null,6]
Output: 4

Example 3:
在这里插入图片描述

Input: root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
Output: 7Constraints:
The depth of the n-ary tree is less than or equal to 1000.
The total number of nodes is between [0, 10^4].

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/diameter-of-n-ary-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

/*
// Definition for a Node.
class Node {
public:int val;vector<Node*> children;Node() {}Node(int _val) {val = _val;}Node(int _val, vector<Node*> _children) {val = _val;children = _children;}
};
*/class Solution {int ans = 0;
public:int diameter(Node* root) {h(root);return ans;}int h(Node* root){if(!root) return 0;int maxdep1 = 0, maxdep2 = 0, height;for(auto c : root->children){height = h(c);if(height >= maxdep1){maxdep2 = maxdep1;maxdep1 = height;}else if(height > maxdep2)maxdep2 = height;}ans = max(ans, maxdep2+maxdep1);return max(maxdep1, maxdep2) + 1;}
};

32 ms 10.7 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474772.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python控制条件语句_Python条件控制语句

一、条件判断语句(if语句)执行的流程if语句在执行时&#xff0c;会先对条件表达式进行求值判断如果为True&#xff0c;则执行if后的语句如果为False&#xff0c;则不执行语法&#xff1a;if 条件表达式&#xff1a;代码块代码块代码中保留着一组代码&#xff0c;同一个代码块中…

LeetCode MySQL 1355. 活动参与者(any函数)

文章目录1. 题目2. 解题1. 题目 表: Friends ------------------------ | Column Name | Type | ------------------------ | id | int | | name | varchar | | activity | varchar | ------------------------ id 是朋友的 id 和该表的主…

python zipfile教程_Python中zipfile压缩文件模块的基本使用教程

zipfilePython 中 zipfile 模块提供了对 zip 压缩文件的一系列操作。fzipfile.ZipFile("test.zip",mode"") //解压是 r , 压缩是 w 追加压缩是 amode的几种&#xff1a;解压&#xff1a;r压缩&#xff1a;w追加压缩&#xff1a;a压缩一个文件创建一个压缩文…

asp不同编码下 UTF-8 GB2312转换收集

用于gb2312下接收新浪api 的json数据utf-8转gb2312 UTF-8字符转换成GB2312 Function UTF2GB(UTFStr) For Dig1 to len(UTFStr) if mid(UTFStr,Dig,1)"%" then if len(UTFStr) > Dig8 then GBStrGBStr & ConvChinese(mid(UTFStr,Dig,9)) DigDig8 else GBStrG…

LeetCode MySQL 578. 查询回答率最高的问题

文章目录1. 题目2. 解题1. 题目 从 survey_log 表中获得回答率最高的问题&#xff0c; survey_log 表包含这些列&#xff1a;id, action, question_id, answer_id, q_num, timestamp。 id 表示用户 id&#xff1b; action 有以下几种值&#xff1a;"show"&#xff…

mysql的cpu飙升到500_[MySQLCPU]线上飙升800%,load达到12的解决过程

接到报警通知&#xff0c;负载过高&#xff0c;达到800%&#xff0c;load也过高&#xff0c;有11了。MySQL版本为5.6.12-log1 top 之后&#xff0c;确实是mysqld进程占据了所有资源。2 查看error日志&#xff0c;无任何异常3 show eninge innodb status\G&#xff0c;没有死锁信…

【分享】Android JNI实例​

【分享】Android JNI实例​ Android的SDK中没有包括JNI的支持&#xff0c;而且对如何支持JNI也没有任何文档说明。不过既然整个Android平台是开源的&#xff0c;我们可以通过Google发布的源代码来找到一些线索&#xff08;比如frameworks/base/media/jni/目录&#xff09;&…

LeetCode MySQL 1098. 小众书籍

文章目录1. 题目2. 解题1. 题目 书籍表 Books&#xff1a; ------------------------- | Column Name | Type | ------------------------- | book_id | int | | name | varchar | | available_from | date | ------------------------- book_…

mysql linux 还原_linux下java还原mysql数据库

pageEncoding"UTF-8" import"java.lang.*,java.io.*,java.util.*"%>Runtime runtime Runtime.getRuntime();// 将/data/backup.sql 还原到 192.168.0.96 上的demo库 账号密码为 root rootString restore "mysql -u root -proot -h 192.168.0.96 …

解决eclipse无法解析导入org.eclipse.swt库

右键点击项目 -> Build Path -> Config Build Path...然后选择Libraries标签页&#xff0c;点击Add External JARs...再到你的eclipse安装目录下的plugins目录下寻找 org.eclipse.swt.win32.win32.x86_XXXXX.jar&#xff08;XXXXX是版本号&#xff09;。 我的对应库是org…

LeetCode MySQL 1107. 每日新用户统计

文章目录1. 题目2. 解题1. 题目 Traffic 表&#xff1a; ------------------------ | Column Name | Type | ------------------------ | user_id | int | | activity | enum | | activity_date | date | ------------------------ 该表没有主键&a…

mysql gui 有哪些_推荐五款较好的MySQLGUI工具

大多数数据库都是由两个截然不同的部分组成的&#xff1a;后端(存储数据的地方)和前端(一个用于连接数据组件的用户界面)。这种架构可以大多数数据库都是由两个截然不同的部分组成的&#xff1a;后端(存储数据的地方)和前端(一个用于连接数据组件的用户界面)。这种架构可以把用…

共享打印机的方法

共享打印机的方法 1、在计算机上连接好打印机&#xff0c;并安装好打印机的驱动&#xff0c;测试是否在本机上可以打印 &#xff1b; 2、在打印服务器上&#xff0c;共享该打印机&#xff1b; 3、保证打印服务器上的共享资源可以正常地访问&#xff1b; 4、在PC机运行“\\打印服…

LeetCode MySQL 1149. 文章浏览 II

文章目录1. 题目2. 解题1. 题目 Table: Views ------------------------ | Column Name | Type | ------------------------ | article_id | int | | author_id | int | | viewer_id | int | | view_date | date | ---------------------…

调试lua代码

lua没有调试器&#xff0c;但是它提供了很强的调试功能&#xff08;debug 库&#xff09;&#xff0c; 所以其实一些常用的调试功能都能很方便的使用&#xff0c;就像使用一个命令行调试器一样&#xff1a; 【例子程序】 -- debug.luagvar1 100 function foo()local var2 10f…

php增加mysql用户_mysql 增加用户

1. 新增用户 Sql代码 mysql insert into mysql. user (Host, User , Password ) values ( localhost , lionbule , password ( hello1234 )); mysqlflush privileges ; 或者 CREATEUSER usernamehost IDENTIFIEDBYpassword; 例子:CREATEUSERdoglo1. 新增用户Sql代码mysql>i…

2012总结--序

新时代Fans同学一直有 总结的习惯&#xff01;2012总结不同以往&#xff0c;这次总结是 划时代的。 世界末日已过&#xff0c;新的时代已经开始&#xff01; 2012年是至关重要的一年&#xff0c;不在于 IT技术上有多大提高&#xff0c;而是在于&#xff1a; 1. 离开校园&#x…

LeetCode MySQL 1164. 指定日期的产品价格 *

文章目录1. 题目2. 解题1. 题目 产品数据表: Products ------------------------ | Column Name | Type | ------------------------ | product_id | int | | new_price | int | | change_date | date | ------------------------ 这张表的主键是 (…

python tkinter 实例_Python tkinter模版代码实例

这篇文章主要介绍了Python tkinter模版代码实例,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下代码如下import tkinterimport timeimport threadingfrom tkinter import ttkevent threading.Event()once0def s…

判断浏览器版本

用jquery判断浏览器类型&#xff1a; 判断浏览器类型是IE浏览器还是火狐甚至是opera或者苹果浏览器safari&#xff0c;jquery 特效代码如下&#xff1a; $(function(){if($.browser.msie) {alert("这是一个IE浏览器");}else if($.browser.opera) {alert("这是一…