leecode | 从二叉搜索树到更大和树

官方的题目解释永远晦涩难懂
这就是最大的拦路虎

简单介绍,将二叉搜索树,转换成“更大和树”,“最大的和树”,就是更新节点val,二叉树中所有大于等于该节点的的val 总和,包括本身

#对着图看,会更容易理解一些#二叉树,是一个很好理解和掌握 递归思想的结构体。一个很好切入点,可以好好总结

在这里插入图片描述

/*** 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) {}* };*///给定一个二叉搜索树 root (BST),请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。理解为:每个节点替换后的新值等于原树中所有「大于或等于该节点值」的和。class Solution {
public:TreeNode* bstToGst(TreeNode* root) {//要点巧劲//观察二叉搜索树//其实就是进行右中左遍历dfs(root, 0);return root;}//  val : 以父节点为根的右子树的和(包括节点)int dfs(TreeNode* root, int val){if(!root){return  0;}int ans = 0;ans += dfs(root->right, val);ans += root->val;root->val = ans + val;ans += dfs(root->left, root->val);return ans;}
};

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

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

相关文章

pythonGUi不能立即刷新

今天遇到一个UI界面问题: 在修改控件的背景颜色或其他样式后,UI 没有立即更新,而需要晃动窗口或触发一些事件才能看到变化,可能是由于界面的刷新机制问题。这种情况下,我尝试使用 Refresh 方法来强制刷新控件。 在你的…

SpringMVC常用注解

1、Controller 声明该类为SpringMVC中的Controller 控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中使用Controller &…

pip命令详解

pip命令介绍 pip是由Ian Bicking在2008年提出的,他将pyinstall重命名为pip。名称pip是首字母缩写词,全称为“Package Installer for Python”。自Python3的3.4版本以及Python2的2.7.9版本开始,pip被直接包括在Python的安装包内,成…

【原神游戏开发日志1】缘起

【原神游戏开发日志1】缘起 版权声明 本文为“优梦创客”原创文章,您可以自由转载,但必须加入完整的版权声明 文章内容不得删减、修改、演绎 相关学习资源见文末 大家好,最近看到原神在TGA上频频获奖,作为一个14年经验的游戏开…

C语言每日一题(45)删除排序链表中的重复元素

力扣网83 删除排序链表中的重复元素 题目描述 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输入:head [1,1,2] 输出:[1,2]示例 2: 输入&…

Android 11.0 Camera 分辨率从高到低排列功能实现

1.前言 在11.0的系统ROM定制化开发中,在对Camera2的产品进行定制化的时候,在camera2的设置页面,总是会发现在预览 分辨率的列表中,有的产品不是按照分辨率的大小来进行排序显示的,所以就需要了解显示流程,然后按顺序排序来实现 功能,接下来实现相关功能 2.Camera 分…

公有云迁移研究——AWS DMS

大纲 1 什么是DMS2 DMS的作用3 DMS在迁移的时候都做些什么4 在使用DMS的时候我们需要做些什么5 操作5.1 创建两个数据库终端节点5.2 创建迁移任务 6 可能遇到的问题7 总结 在本地机房或其他云往AWS上做迁移时,往往会遇到数据库迁移的任务。如果数据量不是特别大&…

SQL server QUOTENAME()和CONVERT()函数一起使用来将日期值格式化

在这段代码中,QUOTENAME()和CONVERT()函数一起使用来将日期值格式化并引用在动态SQL语句中。 CONVERT(): 这是SQL Server中的一个内置函数,用于将数据从一种类型转换为另一种类型。在这个例子中,它接受三个参数: a. 目标数据类型…

Linux 软件安装

目录 一、Linux 1、Linux异常解决 1、JDK安装 1、Linux卸载JDK 2、Linux安装JDK 2、Redis安装 一、Linux 1、Linux异常解决 1、Another app is currently holding the yum lock; waiting for it to exit... 解决办法: rm -f /var/run/yum.pid1、杀死这个应用程序 ps a…

计算机网络:传输层——多路复用与解复用

文章目录 前言一、Socket(套接字)二、多路复用/解复用三、多路解复用(1)多路解复用原理(2)无连接(UDP)多路解复用(3)面向连接(TCP)的多…

mysql大数据量查询瓶颈解决方案-供参考

项目运行了三年了,流水表主表数据已经达到4kw以上 所以最近项目开始时不时的出现问题,主要体现在以下方面: 1.客户端经常出现查询超时。 1.1 mybatis分页查询出现问题。 对于这个情况,我在这篇博客中做了描述,可以移…

进入软件的世界

选择计算机 上高中的时候,因为沉迷于网络游戏,于是对计算机产生了浓厚的兴趣,但是那个时候对于计算机的了解还是非常肤浅的。上大学的时候,也就义无反顾的选择了计算机专业,其实并不是一个纯粹的计算机专业&#xff0…

每日OJ题_算法_双指针①_力扣283. 移动零

目录 力扣283. 移动零 解析代码 力扣283. 移动零 283. 移动零 - 力扣(LeetCode) 难度 简单 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的…

使用Redis管理登录令牌cookie

相关知识 大多数网站都会使用 cookie 记录用户的身份。cookie 是由少量数据组成的字符串(通常还要经过加密)。网站会要求浏览器存储这些数据,并在向服务端发起请求时将这些数据传回给服务端。 通常,用于处理登录(识别…

AI Agent 结构与分类

一、什么是AI agent 在人工智能中,智能代理AI Agent是以智能方式行事的代理;它感知环境,自主采取行动以实现目标,并可以通过学习或获取知识来提高其性能。人其实就是一种复杂代理。 为了理解智能代理的结构,我们应该熟…

前后端数据传输格式(下)

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 上篇主要复习了HTTP以及…

时间序列预测实战(二十三)进阶版LSTM多元和单元预测(课程设计毕业设计首选)

一、本文介绍 本篇文章给大家带来的是利用我个人编写的架构进行LSTM模型进行时间序列建模(专门为了时间序列领域新人编写的架构,简单且不同于市面上大家用GPT写的代码),包括结果可视化、支持单元预测、多元预测、模型拟合效果检测…

Android : ViewModel_解决textView 横竖屏数据丢失

横竖屏切换 textView 数据丢失 1.导包 // 使用androidx版本库implementation androidx.lifecycle:lifecycle-extensions:2.1.0-alpha03// 或者,使用support版本库implementation android.arch.lifecycle:extensions:1.1.1 2.写个类 继承 viewModel import an…

文字处理工具Word mac软件特点

Microsoft Word mac是一款文字处理软件。它是 Microsoft office 套件的一部分,已广泛用于创建、编辑和格式化文本文档。 Word mac软件特点 改进的协作工具:使用 Microsoft Word 2021,多个用户可以同时处理一个文档,从而更轻松地与…

记录111

在两台 RHEL 8 服务器上搭建 PostgreSQL 和 pgpool-II 环境涉及到安装 PostgreSQL、配置流复制(Streaming Replication)以及安装和配置 pgpool-II。以下是详细的步骤: ### 准备工作 1. **获取服务器**:确保你有两台运行 RHEL 8 的…