leetcode 559. N 叉树的最大深度(Java版,N叉树的深度优先搜索)
题目
https://leetcode-cn.com/problems/maximum-depth-of-n-ary-tree/
题解
思路是 N 叉树的遍历(深度优先搜索)
/*
// Definition for a Node.
class Node {public int val;public List<Node> children;public Node() {}public Node(int _val) {val = _val;}public Node(int _val, List<Node> _children) {val = _val;children = _children;}
};
*/class Solution {int maxDepth = 0;public int maxDepth(Node root) {if (root == null) return 0;dfs(root, 1);return maxDepth;}public void dfs(Node node, int depth) {if (node == null) maxDepth = Math.max(maxDepth, depth);for (Node n : node.children) {dfs(n, depth + 1);}maxDepth = Math.max(maxDepth, depth);}
}
思路相同,但看到评论区有种更整洁的写法,即将 max 作为返回值在递归过程中传递:
public int maxDepth(Node root) {if(root == null) return 0;int max = 0;for(Node node : root.children){max = Math.max(maxDepth(node),max);}return max + 1;
}
leetcode 559. N 叉树的最大深度(Java版,N叉树的深度优先搜索)相关推荐
- leetcode 476. 数字的补数(Java版)| How to extract ‘k’ bits from a given position in a number
题目 https://leetcode-cn.com/problems/number-complement/ 思路 我们想要返回已知数字的补数(num>=1). 思路: 获取 num 的二进制数 ...
- leetcode 561. 数组拆分 I(Java版)
题目 https://leetcode-cn.com/problems/array-partition-i/ 题解 思路:先排序,然后让每相邻的两个值凑成一对. 原理是,要让每一个小值a带上未配对的最 ...
- leetcode 520. 检测大写字母(Java版)
题目 https://leetcode-cn.com/problems/detect-capital/ 题解 两次遍历,O(n) 时间复杂度. 第一次遍历,统计大写字母个数 第二次遍历,根据大写字母个 ...
- leetcode 563. 二叉树的坡度(Java版)
题目 https://leetcode-cn.com/problems/binary-tree-tilt/ 题解 从问题的描述中,可以清楚地了解到,我们需要在给定树的每个结点处找到其坡度,并将所有的坡 ...
- leetcode 543. 二叉树的直径(Java版)
题目 https://leetcode-cn.com/problems/diameter-of-binary-tree/ 题解 1:暴力法 暴力解法:遍历这棵树,当以每个节点为根时,计算 距离,取最大 ...
- leetcode 463. 岛屿的周长(Java版)
题目 https://leetcode-cn.com/problems/island-perimeter/ 题解 思路 需要三次遍历 首先,总边数=陆地个数*4 然后,横向遍历棋盘,纵向遍历棋盘,如果 ...
- leetcode 简单题合集(Java版)
326. 3的幂 https://leetcode-cn.com/problems/power-of-three/ 题解: class Solution {public boolean isPower ...
- leetcode 268. 丢失的数字(Java版)
题目 https://leetcode-cn.com/problems/missing-number/ 题解 解法 1 本题要求线性时间复杂度.仅使用额外常数空间的算法解决此问题,其实质是一个数学问题 ...
- LeetCode:733. 图像渲染(java版)——BFS是渣男/女,DFS是方知有
题外话:看完题目,是不是一头雾水.有疑问就对了,不知道出题者的语文老师看了有啥感想. 题目意思其实很简单,就是给你一个初始坐标点(sr,sc),找和该点附近像素值相同的坐标,而这附近的定义就是上下左右 ...
- LeetCode 二叉树、N叉树的最大深度与最小深度(递归解)
目录 104. 二叉树的最大深度 559. N叉树的最大深度 111. 二叉树的最小深度 之前的笔记中,已经用层序遍历解决过这个问题了 现在试着用深度的解法去求解 104. 二叉树的最大深度 给定一个 ...
最新文章
- Spring Boot统一异常处理的拦截指南
- 2021年第3周LDL方向的周报
- 关于BigInteger的加减乘除使用
- Java8基础之反射
- 基础总结篇之二:Activity的四种launchMode
- 北京住房仰视链,你在第几层?
- UNCODE 与 ANSI 编码互相转换
- 神经网络编程的34个案例,神经网络程序实例100篇
- SIP音调通话调研结果
- EXCEL的换行符等,输入,替换,和 char(10) char(13)等
- Docker下运行Presto访问Redis及BI展示
- MOSFet 的类型和区别:NP沟道,增强耗尽
- 磁编码器MT6835_SPI读取位置信息
- 看完让你彻底理解 WebSocket 原理
- 计算机程序设计员(java三级)应注意什么?
- 手把手教你用c语言编写网络病毒
- 有没有测试鼠标是否丢帧的软件,深澜大叔教你如何准确检测鼠标是否丢帧
- 深圳软件测试培训:事件与事件处理
- 《微SaaS创富周刊》第3期:GPT-3\ChatGPT、Stable Diffusion等AI模型驱动的微SaaS创意盘点
- ICH4芯片LAN控制器寄存器
热门文章
- POJ - 3693 Maximum repetition substring(后缀数组+RMQ)
- HDU - 3966 Aragorn's Story(树链剖分+线段树)
- 算法模板-广度优先遍历
- php tp框架调用方法,thinkPHP框架使用方法
- IOCP 浅析与实例
- 秒杀多线程第十二篇 多线程同步内功心法——PV操作上
- gh0st源码分析与远控的编写(二)
- MFC拖拽文件到任意EDIT控件
- [转]I,P,B帧和PTS,DTS的关系
- 告别DNS劫持,一文读懂DoH