Maximum Difference Between Node and Ancestor LeetCode solution in Python

1
class Solution:
2
def maxAncestorDiff(self, root: Optional[TreeNode]) -> int:
3
self.max_diff = float("-inf")
4

5
def dfs(node, prev_min, prev_max):
6
if not node:
7
return
8
dfs(node.left, min(prev_min, node.val), max(prev_max, node.val))
9
dfs(node.right, min(prev_min, node.val), max(prev_max, node.val))
10
self.max_diff = max(
11
abs(node.val - prev_min), abs(node.val - prev_max), self.max_diff
12
)
13

14
dfs(root, root.val, root.val)
15
return self.max_diff

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0