N叉树的深度
题目:N叉树的深度
给定一个N叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。
# 递归
var maxDepth = function(root) {
if(!root) return 0;
if (root.children && root.children.length) {
let arr = []
for(let i = 0; i < root.children.length; i++) {
arr.push(maxDepth(root.children[i]))
}
return Math.max(...arr) + 1
}
return 1
};
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 非递归
按层序遍历树结构,得到树的最大深度
var maxDepth = function(root) {
if(!root) return 0;
let que = [root], level = 0
while (que.length) {
let temp = []
for (let i = 0; i < que.length; i++) {
temp.push(...que[i].children)
}
level++
que = temp
}
return level
};
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
上次更新: 2025/09/05, 8:09:00