当前位置: 首页 > news >正文

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

题目

二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。

路径和 是路径中各节点值的总和。

给你一个二叉树的根节点 root ,返回其 最大路径和 。

思路:dfs 返回的是的节点值之和,不是直径的节点值之和。

代码

class Solution {
    private int ans = Integer.MIN_VALUE;

    public int maxPathSum(TreeNode root) {
        dfs(root);
        return ans;        
    }

    private int dfs(TreeNode node) {
        if (node == null) {
            return 0;
        }
        int lVal = dfs(node.left);
        int rVal = dfs(node.right);
        ans = Math.max(ans, lVal + rVal + node.val);
        return Math.max(Math.max(lVal, rVal) + node.val, 0);
    }
}

性能

相关文章:

  • 深度学习与传统算法在人脸识别领域的演进:从Eigenfaces到ArcFace
  • 线性表的顺序表示
  • QuecPython + MQTT:物联网设备通信实战指南
  • 解决前端文字超高度有滚动条的情况下padding失效(el-scrollbar)使用
  • 鸿蒙跳转到系统设置app界面
  • 虚幻基础:GAS
  • ngx_http_module_t
  • Java调用Oss JDk删除指定目录下的所有文件
  • 【最大异或和——可持久化Trie】
  • 设计模式-桥接模式
  • C语言文件管理详解(上)
  • 下拉菜单+DoTween插件
  • 基于ssm图文印务交互系统小程序(源码+lw+部署文档+讲解),源码可白嫖!
  • Docker 使用指南
  • Django Rest Framework 创建纯净版Django项目部署DRF
  • 每日一题——二叉树的三种中序遍历方法
  • C语言基础要素(017):退出条件循环:do-while
  • Qt 实现波浪填充的圆形进度显示
  • 谈谈 undefined 和 null
  • SAP(第四周)
  • 习近平抵达莫斯科对俄罗斯进行国事访问并出席纪念苏联伟大卫国战争胜利80周年庆典
  • 从“重规模”向“重回报”转变,公募基金迎系统性改革
  • 公募基金改革八大要点:建立浮动管理费收取机制、降低规模排名考核权重
  • 巴基斯坦外交部:印度侵略行径侵犯巴主权
  • 青年与城市共成长,第六届上海创新创业青年50人论坛将举办
  • 媒体:西安62岁男子当街殴打妻子,警方称打人者已被行拘