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)

results matching ""

    No results matching ""