leetcode124 二叉树中的最大路径和-dp

题目

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

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

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

示例

输入:root = [-10,9,20,null,null,15,7]
输出:42
解释:最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42
在这里插入图片描述

解析
func maxPathSum(root *TreeNode) int {
	ans := math.MinInt
	var dfs func(*TreeNode) int
	dfs = func(node *TreeNode) int {
		if node == nil {
			return 0 // 没有节点,和为0
		}
		leftMaxVal := dfs(node.Left)                         // 左子树最大链和
		rightMaxVal := dfs(node.Right)                       // 右子树最大链和
		ans = max(ans, leftMaxVal+rightMaxVal+node.Val)      // 两条链拼成路径
		return max(max(leftMaxVal, rightMaxVal)+node.Val, 0) // 当前子树最大链和
	}
	dfs(root)
	return ans
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/637883.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

50.WEB渗透测试-信息收集-CDN识别绕过(3)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:49.WEB渗透测试-信息收集-CDN识别绕过(2) 关于cdn的识别方法内容…

基于SpringBoot的社区医院管理系统

基于SpringBootVue的社区医院管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 首页 医生预约 管理员界面 医生界面 摘要 基于Spring Boot的社区医院管理系…

linux命令日常使用思考

linux命令日常使用思考 复制的相关问题scp和cp的区别root192.168.5.229-r的理解 更新版本的相关问题svn info 根目录和家目录的区别根目录家目录 复制的相关问题 scp和cp的区别 安全性:SCP 是基于 SSH 的加密传输协议,可以保证数据在传输过程中的安全性…

揭秘网红老阳的选品师项目:从选品到赚钱的全方位解析

在快节奏的互联网时代,网红隋总以其独特的洞察力和前瞻性,为我们揭示了人力RPO(招聘流程外包)项目背后的变革与机遇。这次,我们不再单纯地从市场或企业的角度来探讨这个项目,而是从更宏观的视角,看看它如何推动了人力资…

Python 调整PDF文件的页面大小

在处理PDF文件时,我们可能会遇到这样的情况:原始PDF文档不符合我们的阅读习惯,或者需要适配不同显示设备等。这时,我们就需要及时调整PDF文档中的页面尺寸,以满足不同应用场景的需求。 利用Python语言的高效性和灵活性…

关于redis设置的密码不生效问题

今天申请了阿里云使用3个月的服务器,于是想在服务器上部署一下自己的项目,但是吸取了上次的教训,再也不敢随便开放redis的端口号了,就算要开放redis的端口,也要设置密码,保证不会被挖矿病毒通过redis入侵服…

自用升级centos7.2的默认Python 2.7.5为python3.8

wget https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tgztar zxvf Python-3.8.8.tgz 进入刚刚解压后的目录 ./configure --prefix/data/soft/python3按照上面截图所属,需要安装gcc 安装报错需要安装 sudo yum install zlib1g-dev make -j4 make install -…

VBA语言専攻每周通知20240524

通知20240524 各位学员∶本周MF系列VBA技术资料增加611-615讲,T3学员看到通知后请免费领取,领取时间5月24日晚上18:00-5月26日晚上18:00。本次增加内容: MF611:用InputBox录入日期 MF612:信息提示10秒后关自动关闭 MF613:只是信息提示10秒 MF614:显…

VUE2 tab切换导航 展示页面内容(父级子级独立)

VUE2 tab切换导航 展示页面内容 父级子级独立 图片示例代码 图片示例 代码 <template><div class"center"><!-- 一级导航 --><div class"menu"><div class"menu_list"><div v-for"item of List" :k…

新定义RD8T36P48使用USCI0的TWI功能点亮OLED

时间不多&#xff0c;因此先只给出工程&#xff0c;等有时间再添加详细说明 现象 这是从之前的一个51单片机的程序移植过来的&#xff0c;主要修改了IIC启动和停止&#xff0c;以及数据发送的代码&#xff0c;我现在还不是很满意的一点是发送过程中要等待上一个字节发送完才能…

CDH6.3.2集成Flink1.17

直接运行脚本即可&#xff0c;一键输出相关依赖包 运行步骤已给到文档 下载地址

如何灵活运用keil工具进行问题分析(1)— 解决日常程序卡死问题

前言 &#xff08;1&#xff09;如果有嵌入式企业需要招聘湖南区域日常实习生&#xff0c;任何区域的暑假Linux驱动实习岗位&#xff0c;可C站直接私聊&#xff0c;或者邮件&#xff1a;zhangyixu02gmail.com&#xff0c;此消息至2025年1月1日前均有效 &#xff08;2&#xff0…

支付宝支付-SpringBoot基于沙箱环境实现支付宝支付

目录 一、支付宝沙箱环境介绍 二、沙箱环境准备 2.1 注册入驻支付宝开放平台 2.2 配置沙箱环境 2.3 沙箱应用 三、SpringBoot 结合 支付宝沙箱 3.1 pom.xml 3.2 application.yml 3.3 对应的配置类 3.4 支付接口&#xff0c;和支付的回调接口 3.5 支付页面 apy.html 3…

做好智慧校园的顶层设计,助力教育信息化发展

教育信息化已被视为我国教育事业发展的重要支撑。随着国家教育信息化一系列重大工程的部署和实施&#xff0c;我国教育信息化进入快速发展时期&#xff0c;取得了显著成绩。我们认识到国家教育信息化正由初步应用融合阶段向着全面融合创新阶段过度&#xff0c;无论从国家地区的…

炫酷网页设计:HTML5 + CSS3打造8种心形特效

你以为520过去了&#xff0c;你就逃过一劫了&#xff1f;那不是还有分手呢&#xff0c;那不是还得再找对象呢&#xff0c;那不是还有七夕节呢&#xff0c;那不是还有纪念日呢&#xff0c;那不是还有各种各样的节日呢&#xff0c;所以呀&#xff0c;这8种HTML5 CSS3打造8种心形…

Java.lang.InterruptedException被中止异常解决方案

大家好&#xff01;我是咕噜铁蛋&#xff01;在Java编程的世界里&#xff0c;java.lang.InterruptedException是一个常见的异常&#xff0c;尤其是在处理多线程和并发任务时。这个异常通常表示一个线程在等待、休眠或其他占用时间不长的操作时被中断。作为一个资深的Java开发者…

Timeline

SignalTrack信号轨道和自定义带参数的Marker信号和轨道 MySignalReceiver using System; using System.ComponentModel; using UnityEngine.Playables; using UnityEngine.Events;namespace UnityEngine.Timeline { public class BaseSignalReceiver<T, Q> : MonoBeha…

04-Vue:ref获取页面节点--很简单

目录 前言在Vue中&#xff0c;通过 ref 属性获取DOM元素使用 ref 属性获取整个子组件&#xff08;父组件调用子组件的方法&#xff09; 前言 我们接着上一篇文章 03-02-Vue组件之间的传值 来讲。 下一篇文章 05-Vue路由 在Vue中&#xff0c;通过 ref 属性获取DOM元素 我们当然…

CTFHUB技能树——SSRF(三)

目录 URL Bypass 数字IP Bypass 302跳转 Bypass DNS重绑定 Bypass SSRF绕过方法&#xff1a; &#xff08;1&#xff09; http://abc.com127.0.0.1 &#xff08;2&#xff09;添加端口号 http://127.0.0.1:8080 &#xff08;3&#xff09;短地址 htt…

LabVIEW和ZigBee无线温湿度监测

LabVIEW和ZigBee无线温湿度监测 随着物联网技术的迅速发展&#xff0c;温湿度数据的远程无线监测在农业大棚、仓库和其他需环境控制的场所变得日益重要。开发了一种基于LabVIEW和ZigBee技术的多区域无线温湿度监测系统。系统通过DHT11传感器收集温湿度数据&#xff0c;利用Zig…