diff --git a/top-100-liked/40/leetcode_test.go b/top-100-liked/40/leetcode_test.go index 789b6b0..7a517a2 100644 --- a/top-100-liked/40/leetcode_test.go +++ b/top-100-liked/40/leetcode_test.go @@ -9,5 +9,19 @@ type TreeNode struct { } 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 }