diff --git a/python/543-Diameter-of-Binary-Tree.py b/python/543-Diameter-of-Binary-Tree.py index 46a465649..78ec03116 100644 --- a/python/543-Diameter-of-Binary-Tree.py +++ b/python/543-Diameter-of-Binary-Tree.py @@ -5,17 +5,19 @@ # self.left = left # self.right = right class Solution: - def diameterOfBinaryTree(self, root: TreeNode) -> int: - res = [0] + def diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int: + res = 0 def dfs(root): + nonlocal res + if not root: - return -1 + return 0 left = dfs(root.left) right = dfs(root.right) - res[0] = max(res[0], 2 + left + right) + res = max(res, left + right) return 1 + max(left, right) dfs(root) - return res[0] + return res