
题解
/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * this.right = (right===undefined ? null : right) * } * } */function maxPathSum(root: TreeNode | null): number { let min = Number.MIN_SAFE_INTEGER; function deepLoop(node: TreeNode | null) { if (!node) return 0; let left = Math.max(0, deepLoop(node.left)); let right = Math.max(0, deepLoop(node.right)); min = Math.max(min, left + right + node.val); return Math.max(left, right) + node.val; } deepLoop(root); return min;};