day52(1.2)——leetcode面试经典150

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

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

题目:

题解:

java 复制代码
/**
 * 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 {
    private int sum = Integer.MIN_VALUE;
    public int dfs(TreeNode root) {
        if(root == null) {
            return 0;
        }
        //有子结点
        int left = dfs(root.left);
        int right = dfs(root.right);
        // 两条链拼成路径
        sum = Math.max(sum, left+right+root.val);
        // 当前子树最大链和(注意这里和 0 取最大值了)
        return Math.max(Math.max(left, right)+root.val, 0);
    }

    public int maxPathSum(TreeNode root) {
        dfs(root);
        return sum;
    }
}
相关推荐
似水明俊德8 小时前
02-C#.Net-反射-面试题
开发语言·面试·职场和发展·c#·.net
无极低码8 小时前
ecGlypher新手安装分步指南(标准化流程)
人工智能·算法·自然语言处理·大模型·rag
软件算法开发9 小时前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
无限大69 小时前
AI实战03:Java开发岗专属工作流|用AI辅助代码审查与文档生成
面试
superior tigre9 小时前
22 括号生成
算法·深度优先
程序员雨果10 小时前
软件测试工程师:面试题与经验分享
软件测试·面试·职场和发展
Yvonne爱编码10 小时前
2026年计算机专业求职指南:从简历优化到技术面试通关【科普类】
面试·职场和发展
测试界的飘柔10 小时前
月薪 20k 的性能测试面试题大曝光,让你如何迅速拿下 offer!
自动化测试·软件测试·功能测试·面试·职场和发展·职场经验·找工作
努力也学不会java10 小时前
【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU
java·数据结构·人工智能·算法·缓存·面试
美团程序员10 小时前
软件测试面试,如何自我介绍?
软件测试·面试·职场和发展·软件测试面试