My LeetCode grinding. Trying to do a problem a day.
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1234567891011121314151617181920212223242526272829
  1. class TreeNode:
  2. def __init__(self, x):
  3. self.val = x
  4. self.left = None
  5. self.right = None
  6. class Solution:
  7. def diameterOfBinaryTree(self, root: TreeNode) -> int:
  8. if root is not None:
  9. l = self.height(root.left)
  10. r = self.height(root.right)
  11. ldiameter = self.diameterOfBinaryTree(root.left)
  12. rdiameter = self.diameterOfBinaryTree(root.right)
  13. return max(l + r, max(ldiameter, rdiameter))
  14. return 0
  15. def height(self, tree):
  16. if tree is None:
  17. return 0
  18. return 1 + max(self.height(tree.left), self.height(tree.right))
  19. s = Solution()
  20. print("Expected: 3")
  21. bt = TreeNode(1)
  22. bt.left = TreeNode(2)
  23. bt.right = TreeNode(3)
  24. bt.left.left = TreeNode(4)
  25. bt.left.right = TreeNode(5)
  26. print("Got:", s.diameterOfBinaryTree(bt))