Skip to content

Commit 7a20c94

Browse files
committed
Update Swift/543. Diameter of Binary Tree.swift
1 parent a1b559b commit 7a20c94

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// 543. Diameter of Binary Tree
2+
// 32 ms
3+
private var diameter = 0
4+
private func diameterOfNode(_ root: TreeNode?) -> Int {
5+
var lv = 0, rv = 0
6+
7+
if let l = root?.left {
8+
lv = 1 + diameterOfNode(l)
9+
}
10+
if let r = root?.right {
11+
rv = 1 + diameterOfNode(r)
12+
}
13+
diameter = max(diameter, lv + rv)
14+
return max(lv, rv)
15+
}
16+
17+
func diameterOfBinaryTree(_ root: TreeNode?) -> Int {
18+
diameterOfNode(root)
19+
return diameter
20+
}

0 commit comments

Comments
 (0)