力扣-124-二叉树中的最大路径和
public class Leetcode124 { int res = Integer.MIN_VALUE; public int maxPathSum(TreeNode root) { dfs(root); return res; } public int dfs(TreeNode node) { if (node == null) return 0; // 递归计算左右节点的最大贡献值,如果为父,就不计算到以当前节点为根节点的最大路径中 int leftNodeSum = Math.max(dfs(node.left),0); int rightNodeSum = Math.max(dfs(node.right),0); //更新答案 int temp = node.val + leftNodeSum + rightNodeSum; res = Math.max(res, temp); return node.val + Math.max(leftNodeSum, rightNodeSum); } }
作者:Ryanjie
出处:http://www.cnblogs.com/ryanjan/
本文版权归作者和博客园所有,欢迎转载。转载请在留言板处留言给我,且在文章标明原文链接,谢谢!
如果您觉得本篇博文对您有所收获,觉得我还算用心,请点击右下角的 [推荐],谢谢!