题目:原题链接(中等)
标签:树、二叉树、深度优先搜索
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
Ans 1 (Python) | O(N) | O(N) | 44ms (93.66%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class Solution:
def __init__(self):
self.ans = 0
def maxAncestorDiff(self, root: TreeNode) -> int:
def dfs(node, min_val, max_val):
if node:
if node.val < min_val:
min_val = node.val
elif node.val > max_val:
max_val = node.val
self.ans = max(self.ans, max_val - min_val)
dfs(node.left, min_val, max_val)
dfs(node.right, min_val, max_val)
dfs(root, root.val, root.val)
return self.ans