Files
2026-06-21 21:20:13 +10:00

28 lines
548 B
Go

package top100liked
// https://leetcode.cn/problems/diameter-of-binary-tree/description/?envType=study-plan-v2&envId=top-100-liked
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func diameterOfBinaryTree(root *TreeNode) int {
maxDiameter := 0
var depth func(node *TreeNode) int
depth = func(node *TreeNode) int {
if node == nil {
return 0
}
left := depth(node.Left)
right := depth(node.Right)
maxDiameter = max(maxDiameter, left+right)
return max(left, right) + 1
}
depth(root)
return maxDiameter
}