力扣hot100 二叉树中的最大路径和 递归

Problem: 124. 二叉树中的最大路径和
在这里插入图片描述

文章目录

  • 解题方法
  • 复杂度
  • 💖 Code

解题方法

👨‍🏫 参考思路
在这里插入图片描述

复杂度

时间复杂度: O ( n ) O(n) O(n)

空间复杂度: O ( n ) O(n) O(n)

💖 Code

/*** 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 ans = -20000;//此处的最小值一定要小于数据范围的最小值 -10000public int maxPathSum(TreeNode root){cal(root);return ans;}/*** @param root 当前树的节点* @return 当前树的单侧最大路径长度*/private int cal(TreeNode root){if (root == null)// 访问到叶子节点,返回 0return 0;int l = cal(root.left);// 递归计算左右子树int r = cal(root.right);int max = l > r ? l : r;// 记录左臂右膀的长度int t = root.val;// t 记录的是以当前 root 为转折点的路径长度if (l > 0)// 负数则舍弃t += l;if (r > 0)t += r;int res = root.val;// res = 左右子树单侧路径较长者 + 当前root的值if (max > 0)// 同理,不要负值拖油瓶res += max;ans = Math.max(ans, t);// 更新全局答案return res;}
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云计算概述(发展过程、定义、发展阶段、云计算榜单)(一)

云计算概述(一) (发展过程、定义、发展阶段、云计算榜单) 本文目录: 零、00时光宝盒 一、前言 二、云计算的发展过程 三、云计算的定义 四、云计算发展阶段 五、云计算公司榜单看云计算兴衰 六、参考资料 零、0…

【Shell编程练习】编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态

系列文章目录 输出Hello World 通过位置变量创建 Linux 系统账户及密码 监控内存和磁盘容量,小于给定值时报警 猜大小 输入三个数并进行升序排序 系列文章目录编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态 编写脚本测试 192.…

mysql 8.0 双密码

当需要定期修改密码,又不想影响现有连接的情况下,怎么才能做到无缝切换呢 添加新密码 ALTER USER appuser1host1.example.com IDENTIFIED BY password_b RETAIN CURRENT PASSWORD; 废弃旧密码 ALTER USER appuser1host1.example.com DISCARD OLD PASS…

大功率直流电子负载

大功率直流电子负载专门用于测试和模拟电源设备的设备,它可以模拟实际的负载情况,对电源设备进行各种性能参数的测试。这种设备在电源设备的研发、生产和质量控制中起着重要的作用。 大功率直流电子负载的主要特点有: 高功率:大功…

中科院自动化所:基于关系图深度强化学习的机器人多目标包围问题新算法

摘要:中科院自动化所蒲志强教授团队,提出一种基于关系图的深度强化学习方法,应用于多目标避碰包围(MECA)问题,使用NOKOV度量动作捕捉系统获取多机器人位置信息,验证了方法的有效性和适应性。研究成果在2022年ICRA大会发…

Pandas实战100例 | 案例 46: 列重新排序

案例 46: 列重新排序 知识点讲解 在某些情况下,你可能需要改变 DataFrame 中列的顺序。Pandas 允许你通过指定列名的列表来重新排列列的顺序。 列重新排序: 通过指定列名的新顺序列表,可以对 DataFrame 的列进行重新排序。 示例代码 # 准备数据和示…

生鲜超市网站系统源码自营商城生鲜水果商城PC手机微信完整版

系统主要功能:商品管理、会员管理、订单管理、电子券管理、财务管理、门店管理等 后台管理:http://fresh.oostar.cn/admin 演示管理员登陆账号:yanshi 演示管理员登陆密码:yanshi888 pc前端站点:http://fresh.oostar.cn 移动端站点&…

淘宝搜索引擎API接口关键字搜索商品列表获取商品详情价格评论销量API

item_search-按关键字搜索淘宝商品 公共参数 查看API完整文档 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,it…

产品运营--面试必会

工作内容: 行业竞品调研 包括: 产品上线的新功能发布的活动(活动方案、活动头图设计、运营的策略、奖励机制、开展活动的数据分析、带来的收益和影响) 用户需求逻辑催生产品策略 场景时间段用户需求频率、路径 产品、路径…

Mac安装MySQL

环境 电脑: macOS Monterey 12.7.2 MacBook Pro( Retina, 13-inch, Early 2015) 处理器: 2.7GHz 双核 Inter Core i5 MySQL 的安装版本: 8.2.0 最近有更新系统, 重新配置了电脑, 因此, 之前安装的 MySQL 也都删除了, 这次安装经历有点坎坷, 记录下来, 希望可以帮助到需要的小伙…

1.12号网络

1 网络发展历史 1.1 APRAnet阶段 阿帕网,是Interne的最早雏形 不能互联不同类型的计算机和不同类型的操作系统 没有纠错功能 1.2 TCP/IP两个协议阶段 什么是协议 在计算机网络中,要做到有条不紊的交换数据,需要遵循一些事先约定好的规则…

(程序员专用简历助手)Prompt提示词

程序员专用简历助手 给大家提供了两种Prompt模版第一种是程序员通用型第二个是Java面试简历模版 给大家提供了两种Prompt模版 首先感谢大家的订阅,我会尽可能多的去提供给大家各种Prompt模版,第一次给大家提供了这两种Prompt模版,可以让chat…

Transformer详解(附代码实现及翻译任务实现)

一:了解背景和动机 阅读Transformer论文: 阅读原始的Transformer论文:“Attention is All You Need”,由Vaswani等人于2017年提出,是Transformer模型的开创性工作。 二:理解基本构建块 注意力机制&#…

Vue-20、Vue监测数组改变

1、数组调用以下方法Vue可以监测到。 arr.push(); 向数组的末尾追加元素 const array [1,2,3] const result array.push(4) // array [1,2,3,4] // result 4arr.pop(); 删除末尾的元素 const array [a, b] array.pop() // b array.pop() // a array.pop() // undefi…

react经验9:循环渲染的语法活用

在react中&#xff0c;循环渲染一般这么写 <ul> {list.map(item>(<li key{item.key}>{item.value}</li>)) } </ul>react语法规定每个循环的标签需要加不重复的key&#xff0c;只能有一个根标签。 如果一次循环要输出多个标签怎么办&#xff1f; i…

GaussDB数据库中的MERGE INTO介绍

一、前言 二、GaussDB MERGE INTO 语句的原理概述 1、MERGE INTO 语句原理 2、MERGE INTO 的语法 3、语法解释 三、GaussDB MERGE INTO 语句的应用场景 四、GaussDB MERGE INTO 语句的示例 1、示例场景举例 2、示例实现过程 1&#xff09;创建两个实验表&#xff0c;并…

Shell编程--expect

Expect 用法expect的安装实战——非交互式ssh连接案例1&#xff1a;普通操作案例2&#xff1a;设置变量与进行传参的方式案例3&#xff1a;进行批量推送公钥实现免密连接&#xff0c;ping通一个ip地址连接一个ip 实现批量修改密码&#xff0c;批量推送ssh的公钥&#xff0c;进行…

宝宝洗衣机买几公斤?婴儿专用洗衣机测评

由于幼龄时期的宝宝的皮肤比较娇嫩&#xff0c;很容易受到伤害。所以小宝宝的衣服一般都是棉质的&#xff0c;很柔软&#xff0c;很亲肤的&#xff0c;为的就是保护宝贝们娇嫩的肌肤。而宝宝们在日常中更换衣物会相对频繁&#xff0c;换的衣物也必须及时清洗晾晒&#xff0c;以…

ConcurrentHashMap源码解析

1.介绍一下ConcurrentHashMap? concurrentHashMap是一个线程安全的集合&#xff0c;在HashMap基础上进行了优化&#xff0c;在JDK1.7中&#xff0c;ConcurrentHashMap由一个个的Segment组成&#xff0c;每个Segment就是一个类似于HashMap的结构&#xff0c;每个Segement可以单…