Advertisement
kosievdmerwe

Untitled

Oct 10th, 2021
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.76 KB | None | 0 0
  1. # Definition for a binary tree node.
  2. # class TreeNode:
  3. #     def __init__(self, val=0, left=None, right=None):
  4. #         self.val = val
  5. #         self.left = left
  6. #         self.right = right
  7. class Solution:
  8.     def diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int:
  9.         ans = 0
  10.        
  11.         def dfs(node: TreeNode) -> int:
  12.             nonlocal ans
  13.            
  14.             left = 0
  15.             if node.left:
  16.                 left = 1 + dfs(node.left)
  17.             right = 0
  18.             if node.right:
  19.                 right = 1 + dfs(node.right)
  20.            
  21.             ans = max(ans, left + right)
  22.            
  23.             return max(left, right)
  24.            
  25.         if root:
  26.             dfs(root)
  27.            
  28.         return ans
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement