LeetCode热题100刷题17:124. 二叉树中的最大路径和、437. 路径总和 III、199. 二叉树的右视图

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

在这里插入图片描述

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int ans = -1001;int dfs(TreeNode* root,int& ans) {if(!root)return 0;int l_val = dfs(root->left,ans);int r_val = dfs(root->right,ans);ans = max(ans,l_val+r_val+root->val);return max(max(l_val,r_val)+root->val,0);}int maxPathSum(TreeNode* root) {dfs(root,ans);return ans;}
};

437. 路径总和 III

在这里插入图片描述

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int ans=0;unordered_map<long long, int> cnt{{0,1}};void backtracking(TreeNode* node, long long s, int targetSum) {if(!node) {return;}s+=node->val;ans += cnt.contains(s-targetSum) ? cnt[s-targetSum] : 0;cnt[s]++;backtracking(node->left,s,targetSum);backtracking(node->right,s,targetSum);cnt[s]--;}int pathSum(TreeNode* root, int targetSum) {backtracking(root,0,targetSum);return ans;}
};

199. 二叉树的右视图

在这里插入图片描述

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:vector<int> res;void dfs(TreeNode* node,int depth) {if(!node) {return;}if(depth==res.size())res.push_back(node->val);dfs(node->right,depth+1);dfs(node->left,depth+1);}vector<int> rightSideView(TreeNode* root) {dfs(root,0);return res;}
};

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

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

相关文章

主页目录导航

Java核心 JVM专题一&#xff1a;深入分析Java工作机制 JVM专题二&#xff1a;Java如何进行编译的 JVM专题三&#xff1a;Java代码如何运行 JVM专题四&#xff1a;JVM的类加载机制 JVM专题五&#xff1a;类加载器与双亲委派机制 JVM专题六&#xff1a;JVM的内存模型 JVM专…

llama3.1数据集处理方法

一、预训练数据 截止到23年底。 1.网页数据清洗 1.个人身份信息和安全性过滤&#xff1a;设计过滤器&#xff0c;会删除根据多种Meta安全标准被评定为有害的域名&#xff0c;以及已知包含成人内容的域名。 2.文本提取和清洗&#xff1a;处理未截断的网页文档的原始HTML内容&…

Github 2024-07-17 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-17统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量非开发语言项目3Python项目3Rust项目2TypeScript项目2MDX项目1项目化学习 创建周期:2538 天协议类型:MIT LicenseStar数量:161973 个Fork数量…

基于51单片机的指纹红外密码电子锁

基于51单片机的指纹红外密码电子锁 1、系统功能介绍2、演示视频3、系统框图4、系统电路介绍4.1、STC89C52单片机最小系统设计4.2、LCD12864显示屏电路设计4.3、矩阵键盘按键控制部分电路设计4.4、AS608指纹模块电路设计 5、程序设计5.1、LCD12864屏幕初始化5.2、AT24C02存储芯片…

打造直播工具详解:从零开始开发直播美颜SDK

今天&#xff0c;笔者将详细讲解如何从零开始开发一个直播美颜SDK&#xff0c;帮助开发者了解开发过程中的关键环节和技术要点。 一、需求分析与规划 在开发之前&#xff0c;首先需要明确美颜SDK的功能需求。一般来说&#xff0c;美颜SDK应包含以下几个核心&#xff1a; 基础…

【TAROT学习日记】韦特体系塔罗牌学习(7)——恋人 THE LOVERS VI

韦特体系塔罗牌学习&#xff08;7&#xff09;——恋人 THE LOVERS VI 目录 韦特体系塔罗牌学习&#xff08;7&#xff09;——恋人 THE LOVERS VI牌面分析1. 基础信息2. 图片元素 正位牌意1. 关键词/句2.爱情婚姻3. 学业事业4. 人际财富5. 其他象征意 逆位牌意1. 关键词/句2. …

uniapp在手机端预览文件

handlePdf(url) {uni.showLoading({title: 加载中,mask: true,})wx.downloadFile({url: url,success: function(res) {console.log(res)uni.hideLoading()var filePath res.tempFilePathuni.showLoading({title: 正在打开,mask: true,})wx.openDocument({filePath: filePath,f…

从零开始的CPP(23)动态规划解决最长回文串

leetcode5 给你一个字符串 s&#xff0c;找到 s 中最长的 回文串 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。 最开始我是将回文串都存入map。使用substr进行切割…

css快捷代码【超出一行文本显示省略号/超出三行显示省略号/超出n行...】

常见的css小tips&#xff1a;显示省略号&#xff0c;文本超出容器显示省略号…没啥好说的&#xff0c;直接拷贝代码吧 .containers {overflow:hidden;text-overflow:ellipsis;text-align:justify;word-break:break-all;display:-webkit-box;-webkit-box-orient:vertical;-webk…

MS17-010漏洞复现+利用

1、 漏洞简述 漏洞名称&#xff1a;“永恒之蓝”漏洞 漏洞编号&#xff1a;MS17-010&#xff0c;CVE-2017-0143/0144/0145/0146/0147/0148 漏洞类型&#xff1a;缓冲区溢出漏洞 漏洞影响&#xff1a;信息泄露 CVSS评分&#xff1a;9.3&#xff08;High&#xff09; 利用难…

食家巷擀面皮:一口惊艳的传统美味

在美食的世界里&#xff0c;总有一些经典让人难以忘怀&#xff0c;食家巷擀面皮便是其中之一。食家巷擀面皮&#xff0c;那一张张薄而有劲道的面皮&#xff0c;宛如艺术品般细腻。它的外观晶莹剔透&#xff0c;散发着诱人的光泽&#xff0c;让人看一眼就忍不住想要品尝。制作擀…

Vue使用FullCalendar实现日历/周历/月历

Vue使用FullCalendar实现日历/周历/月历 需求背景&#xff1a;项目上遇到新需求&#xff0c;要求实现工单以日/周/月历形式展示。而且要求不同工单根据状态显示不同颜色&#xff0c;一个工单内部&#xff0c;需要以不同颜色显示三个阶段。 效果图 日历 周历 月历 安装插件…

MySQL学习——影响选项文件处理的命令行选项

大多数支持选项文件的MySQL程序都处理以下选项。因为这些选项会影响选项文件处理&#xff0c;所以必须在命令行上给出&#xff0c;而不是在选项文件中给出。为了正常工作&#xff0c;这些选项中的每一个都必须在其他选项之前给出&#xff0c;但以下情况除外&#xff1a; 打印默…

力扣第二十五题——K个一组反转链表

内容介绍 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内…

自定义IPython启动:打造个性化的交互式编程环境

自定义IPython启动&#xff1a;打造个性化的交互式编程环境 IPython&#xff0c;一个强大的交互式Python解释器&#xff0c;提供了丰富的定制选项&#xff0c;允许用户根据个人或团队的需求定制其行为和外观。设置自定义的启动命令是IPython定制功能的一部分&#xff0c;它可以…

1万6千多传统文化之古代地名大全ACCESS\EXCEL数据库

继续采集传统文化数据&#xff0c;之前采集过《传统文化之非物质文化大全ACCESS数据库》、《名人大全古今人物ACCESS数据库》、《传统文化之民俗文化大全ACCESS数据库》&#xff0c;今天的是古代地名查询&#xff1a; 截图下方有显示“共有记录数”&#xff0c;截图包含了表的所…

探索WebKit的CSS盒模型:深入理解Web布局的基石

探索WebKit的CSS盒模型&#xff1a;深入理解Web布局的基石 在Web开发的世界中&#xff0c;CSS盒模型&#xff08;Box Model&#xff09;是构建网页布局的核心原理。WebKit&#xff0c;作为Safari浏览器的渲染引擎&#xff0c;对CSS盒模型有着深入而精确的支持。本文将带你深入…

AtCoder Beginner Contest 363

A - Piling Up 题意 不同的分数段有不同的^数量&#xff0c;Takahashi想要使得他的^数量增加&#xff0c;问他所需要的最少分数增幅。 思路 我们只需要找到下一阶段的下限。 a / 100 是本阶段 1 变成下一阶段&#xff0c;再 * 100变成下限&#xff0c;再与原来的相减即可…

IP协议和路由转发

文章目录 IP协议IP报头网段划分特殊的IP私有IP和公有IP IP分片 路由 IP协议 IP协议提供了一种能力&#xff0c;将数据报从A主机送到B主机&#xff0c;TCP可以保证可靠性&#xff0c;所以TCP/IP协议可以将数据可靠的从A主机送到B主机。 IP报头 4位版本号(version): 指定IP协议…

Unity Shader - 2024 工具篇

目录 IDE 工具建议 IDE工具 Sublime 3 大势所趋&#xff0c;但是Sublime 使用插件还是相当的不习惯 代码跳转 Go to definite IDE 工具建议 () what is the best ide for coding shaderlab - #4 by DaveAstator - Unity Engine - Unity Discussions​​​​​​​I IDE工…