0
点赞
收藏
分享

微信扫一扫

LeetCode题解(1026):计算结点与其任一祖先之间的最大差值(Python)


题目:​​原题链接​​(中等)

标签:树、二叉树、深度优先搜索

解法

时间复杂度

空间复杂度

执行用时

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



举报

相关推荐

0 条评论