Diameter of Binary Tree
这题以后还有犹豫就记住一点,返回值为内部最长值和树高
class Solution(object):
def diameterOfBinaryTree(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if not root:
return 0
return self.helper(root)[0] - 1
def helper(self, root):
if not root:
return (0, 0,)
if not root.left and not root.right:
return (1, 1,)
left = self.helper(root.left)
right = self.helper(root.right)
return (max(left[0], right[0], left[1] + right[1] + 1), max(left[1], right[1]) + 1)