1026. 节点与其祖先之间的最大差值
给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V,其中 V = |A.val - B.val|,且 A 是 B 的祖先。
(如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的祖先,那么我们认为 A 是 B 的祖先)
链接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
   | 
 
 
 
 
 
 
 
 
 
 
 
 
  function maxAncestorDiff(root: TreeNode | null): number {   if (root === null) return 0   function dfs(node: TreeNode | null, max: number, min: number) {     if (node === null) return 0     if (node.val > max) max = node.val     else if (node.val < min) min = node.val
      if (node.left === null && node.right === null) {       return max - min     }
      const l = dfs(node.left, max, min)     const r = dfs(node.right, max, min)
      return Math.max(l, r)   }
 
    const l = dfs(root.left, root.val, root.val)   const r = dfs(root.right, root.val, root.val)   return Math.max(l, r) };
 
  |