您的位置:首页 > 编程语言 > Python开发

Leetcode 543. Diameter of Binary Tree

2017-06-16 20:53 399 查看
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 = None

class 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%,不错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode python