124.二叉树中的最大路径和

张开发
2026/4/15 22:33:45 15 分钟阅读

分享文章

124.二叉树中的最大路径和
package org.example; class Solution { /** * 最大路径和 */ private int maxPathSum Integer.MIN_VALUE; public int maxPathSum(TreeNode root) { maxPath(root); return maxPathSum; } /** * 计算经过 treeNode 结点的路径的最大路径和 * * param treeNode 结点 * return 经过 treeNode 结点的路径的最大路径和 */ private int maxPath(TreeNode treeNode) { if (treeNode null) { return 0; } // 左子树的最大路径和 int leftSum Math.max(0, maxPath(treeNode.left)); // 右子树的最大路径和 int rightSum Math.max(0, maxPath(treeNode.right)); // 更新最大路径和 maxPathSum Math.max(maxPathSum, treeNode.val leftSum rightSum); // 返回经过当前结点的路径的最大路径和 return treeNode.val Math.max(leftSum, rightSum); } }

更多文章