LeetCode 543. 二叉树的直径
题目描述
思路分析
二叉树的直径可以通过树的深度来计算。
参考代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
func diameterOfBinaryTree(root *TreeNode) int {
var res int
// 返回当前节点的最大深度
var dfs func(node *TreeNode) int
dfs = func(node *TreeNode) int {
if node == nil {
return 0
}
// 递归计算左子树和右子树的最大深度
left := dfs(node.Left)
right := dfs(node.Right)
// 当前节点的路径长度为 left + right
res = max(res, left+right)
// 返回当前节点的最大深度
return max(left, right) + 1
}
dfs(root)
return res
}
1
write your code here
CC BY-NC-SA 4.0
许可协议,转载请注明出处!
本博客所有文章除特别声明外,均采用