二叉树最大路径和
1、题目描述
https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/submissions/
2、解题思路:
https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/solution/er-cha-shu-zhong-de-zui-da-lu-jing-he-by-ikaruga/
3、代码:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { int max=Integer.MIN_VALUE; public int maxPathSum(TreeNode root) { dfs(root); return max; } public int dfs(TreeNode root){ if(root==null){ return 0; } // 左右子树的最大路径和是否是正贡献,非正贡献就取0 int leftMax=Math.max(0,dfs(root.left)); int rightMax=Math.max(0,dfs(root.right)); // 判断left->root->right这条路径是不是和最大的 max=Math.max(max,root.val+leftMax+rightMax); // 选一个单边最大的 return root.val+Math.max(leftMax,rightMax); } }
。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)