Leetcode 543. Diameter of Binary Tree

来源:互联网 发布:陈一发儿淘宝店倒闭 编辑:程序博客网 时间:2024/06/07 06:31

Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a binary tree is the length of the longest path between any two nodes in a tree. This path may or may not pass through the root.

Example:
Given a binary tree
1
/ \
2 3
/ \
4 5
Return 3, which is the length of the path [4,2,1,3] or [5,2,1,3].

Note: The length of path between two nodes is represented by the number of edges between them.

Subscribe to see which companies asked this question.

# Definition for a binary tree node.# class TreeNode(object):#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution(object):    def diameterOfBinaryTree(self, root):        """        :type root: TreeNode        :rtype: int        """        self.result = 0        self.max_depth(root)        return self.result    def max_depth(self, root):        if not root:            return 0        left_depth = self.max_depth(root.left)        right_depth = self.max_depth(root.right)        self.result = max(self.result, (left_depth + right_depth))        return max(left_depth, right_depth) + 1

结果为42.84%,不错。

原创粉丝点击