本文共 551 字,大约阅读时间需要 1 分钟。
路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。
路径和 是路径中各节点值的总和。
给你一个二叉树的根节点 root ,返回其 最大路径和 。
class Solution { int res=Integer.MIN_VALUE; public int maxPathSum(TreeNode root) { dfs(root); return res; } public int dfs(TreeNode root){ if(root==null) return 0; int left=Math.max(0,dfs(root.left));//小于0的不要 int right=Math.max(0,dfs(root.right)); res=Math.max(res,root.val+left+right); return root.val+Math.max(left,right);//左子树和柚子树只能要一个最大值 }}
转载地址:http://uyazb.baihongyu.com/