核心思想:后序遍历(DFS) 1. DFS 函数的作用是计算并返回以当前节点为终点的“单侧最大路径和”(只能继续走左子树或右子树),提供给父节点使用。 2. 在遍历过程中,同时计算以当前节点为“最高点”(可以同时包含左右子树)的“最大局部路径和”,并全局维护更新 ans。 3. 贪心策略:如果某个子树的单侧路径和为负数,把它加到路径里只会让总和变小。这时候我们将其置为 0,代表“不选这颗子树的路径”。
1 | class TreeNode { |
Comments
核心思想:后序遍历(DFS) 1. DFS 函数的作用是计算并返回以当前节点为终点的“单侧最大路径和”(只能继续走左子树或右子树),提供给父节点使用。 2. 在遍历过程中,同时计算以当前节点为“最高点”(可以同时包含左右子树)的“最大局部路径和”,并全局维护更新 ans。 3. 贪心策略:如果某个子树的单侧路径和为负数,把它加到路径里只会让总和变小。这时候我们将其置为 0,代表“不选这颗子树的路径”。
1 | class TreeNode { |