Dashboard Temp Share Shortlinks Frames API

HTMLify

smallest-subtree-with-all-the-deepest-nodes.py
Views: 6 | Author: prakhardoneria
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
class Solution:
    def subtreeWithAllDeepest(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
        def dfs(node):
            if not node:
                return 0, None
            
            left_depth, left_node = dfs(node.left)
            right_depth, right_node = dfs(node.right)
            
            if left_depth > right_depth:
                return left_depth + 1, left_node
            elif right_depth > left_depth:
                return right_depth + 1, right_node
            else:
                return left_depth + 1, node
        
        return dfs(root)[1]