Leetcode1038. 从二叉搜索树到更大和树

歪枣网股票数据下载接口汇总一 歪枣网上下载接口动态信息如下: 接口名称:A股列表,接口描述:沪深京A股基本信息,接口地址:/doc/getStockHSABaseInfo?code=all&fields=code,name,stype,hsgt,bk,roe,zgb,ltgb&export=0&token= 请求参数描述: 参数名:code,参数描述:股票代码,支持批量查询,用逗号分隔,每次最多30个;若为all,则表示全部,即可获取任意一天内的所有数据。 请求参数描述: 参数名:fields,参数描述:数据字段 阅读详情

Every day a Leetcode

题目来源:1038. 从二叉搜索树到更大和树

解法1:中序遍历

在这里插入图片描述

观察示例 1,我们发现了规律:

请添加图片描述

二叉搜索树的中序遍历是一个单调递增的有序序列。

本题中要求我们将每个节点的值修改为原来的节点值加上所有大于它的节点值之和。这样我们只需要反序中序遍历该二叉搜索树,记录过程中的节点值之和,并不断更新当前遍历到的节点的节点值,即可得到题目要求的累加树。

代码:

/*
 * @lc app=leetcode.cn id=1038 lang=cpp
 *
 * [1038] 从二叉搜索树到更大和树
 */

// @lc code=start
/**
 * 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
{
private:
    int sum = 0;

public:
    TreeNode *bstToGst(TreeNode *root)
    {
        if (root)
        {
            bstToGst(root->right);
            sum += root->val;
            root->val = sum;
            bstToGst(root->left);
        }
        return root;
    }
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n),其中 n 是二叉搜索树的节点数。每一个节点恰好被遍历一次。

空间复杂度:O(logn),其中 n 是二叉搜索树的节点数。为递归过程中栈的开销,等于二叉树的高度,最差为 O(n)。

主流频率合成技术方案深度解析与选型指南 本文深度解析了主流频率合成技术方案,包括直接模拟合成、直接数字合成(DDS)、锁相环合成(PLL)及混合方案,并提供了选型指南。通过实际案例和性能指标对比,帮助工程师根据相位噪声、杂散抑制和切换速度等关键指标选择最适合的技术方案,适用于通信系统、雷达信号处理和精密仪器仪表等领域。 阅读详情

相关推荐

从零到一:手把手教你用STM32和WiFi打造智能温室大棚的物联网核心

本文详细介绍了如何利用STM32单片机和WiFi技术从零构建智能温室大棚的物联网核心系统。内容涵盖硬件选型、传感器集成、低功耗WiFi通信、自动控制逻辑及OLED显示,提供实际部署中的优化技巧和故障排查方案,帮助开发者打造稳定可靠的农业自动化解决方案。

c7d8e的博客 180

leetcode 1038 把二叉搜索树转化为累加树

leetcode 1038 把二叉搜索树转化为累加树 水题 代码: /** * 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, T

qq_43513855的博客 171

LVDS接口总结--(0)LVDS硬件电路接口

xilinx LVDS接口硬件总结

zidan1412的博客 9729

SQLException SQL state [HY001] error code [1038]Out of sort memory

具体报错如下图所示 这种情况从字面上看是mysql在排序的时候内存溢出了, 具体使用了分页的操作, 每次都要进行一次的排序, 所以导致mysql内存不足的情况。 只要是添加了order by , 重复次数太多的话,就会有这个错误。 解决方法 在mysql的配置文件中 my.cnf (或者 mysql.ini)中 [mysqld] … 添加 memort_limit=16M 不够的话再加, 暴力解决。。。???? 随机的bug,解决了一次, 不一定可解决其他的情况。其他的方法欢迎大家在评论区添加

qq_28727287的博客 2338

比较几款国际主流的电子元器件及物料清单管理软件 – 工具汇总

Arenasolution 老牌的基于云计算物料清单管理软件,bom.com就是他们家的,10天免费试用,功能被分成4个不同的产品, 和传统ERP功能上有重叠,偏向于物流生产规划,一定程度可以取代ERP的生产规划模块,平均价格70美元/月/席位。网页客户端,不支持离线   SiliconExpert 曾经的老牌物料清单管理软件,后被Arrow 收购,14天免费试用,功能被分成4个不同的产品

u012062784的专栏 7237

PowerBuilder 9.0安装组件全解析:Adaptive Server Anywhere、PowerDynamo、InfoMaker到底怎么选?

本文从技术架构师视角详细解析PowerBuilder 9.0安装组件选型策略,包括Adaptive Server Anywhere、PowerDynamo和InfoMaker的核心功能与应用场景。通过分析组件间的依赖关系和安装冲突机制,提供针对不同开发需求的最佳安装方案,帮助开发者高效配置PB9.0开发环境。

weixin_28700593的博客 443

LeetCode 1038.从二叉搜索树到更大和树

输出:[30,36,21,36,35,26,15,null,null,null,33,null,null,null,8]如果树中有n个节点,此算法时间复杂度为O(n),空间复杂度为树的高度O(logn)(平均情况,最差情况为O(n))。如果树中有n个节点,此算法时间复杂度为O(n),空间复杂度为树的高度O(logn)(平均情况,最差情况为O(n))。输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]节点的右子树仅包含键 大于 节点键的节点。

tus00000的博客 574

AGV路径规划实战:如何用Python+ROS实现激光SLAM导航(附避障代码)

本文提供了一份基于Python和ROS实现AGV激光SLAM导航的实战指南。内容涵盖从Docker环境搭建、激光雷达数据处理、Gmapping建图,到Move_Base全局/局部路径规划与TEB局部规划器配置的全流程。重点解析了如何通过参数调优实现稳定导航,并附带了紧急避障代码,帮助开发者快速构建具备自主路径规划与实时避障能力的AGV系统。

pepsi的博客 1236

leecode 1038. Binary Search Tree to Greater Sum Tree

leetcode 1038.二叉搜索树到大和树 算法思想:用递归的放式搜索树,当右子树不为空时,从右子树开始加和,将加和得到的树赋给当前根节点。 代码: java class Solution { int sums = 0; public TreeNode bstToGst(TreeNode root) { if(root == null){ ...

ZHANGWENJUAN1995的博客 301

CST仿真提速秘籍:用好Local Mesh,别再让简单结构拖慢你的仿真速度

本文深入探讨了CST仿真中Local Mesh技术的应用,通过区域加密与全局排除策略,显著提升电磁仿真效率。针对5G天线阵列、微波滤波器等多尺度结构模型,提供了网格划分的黄金法则和实战技巧,帮助工程师优化仿真速度与精度,特别适用于电磁仿真和网格设置场景。

weixin_27134495的博客 409

STM32Cube高效开发教程<高级篇><FreeRTOS>(十八)-----软件定时器

一、 软件定时器概述声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。本专栏博客参考《STM32Cube高效开发教程(高级篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。在FreeRTOS中,自动创建的任务有空闲任务和定时器服务任务。FreeRTOS可以通过定时器服务任务提供软件定时器功能。在某些对定时精度要求不太高,无须使用硬件定时器的情况下,我们可以使用FreeRTOS的软件定时器。

我的博客 157

LeetCode每日一题:1038. 从二叉搜索树到更大和树

中根遍历+先遍历右儿子

weixin_41672471的博客 491

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Leetcode 1038.从二叉搜索树到更大和树(Binary Search Tree to Greater Sum Tree)

Leetcode 1038.从二叉搜索树到更大和树 1 题目描述(Leetcode题目链接)   给出二叉 搜索 树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。   提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。 节点的右子树仅包含键 大于 节点键的节点。 左右子树也必须是二叉搜...

qq_39378221的博客 454

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

力扣(LeetCode)1038. 从二叉搜索树到更大和树(C++)

【墨染】反向先序遍历

墨染 475

leetcode1038.从二叉搜索树到更大和树

题目描述 给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键小于节点键的节点。 节点的右子树仅包含键大于节点键的节点。 左右子树也必须是二叉搜索树。 示例: 输入:[4,1,6,0,2,5,7,null,null,null,3,null,null...

Missjust的博客 576

LeetCode1038:从二叉搜索树到更大和树

一、题目描述 给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。下图为实例: 输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8] 输出:[30,36,21,36,35,26,15,null,null,null,33,null,null,null,8] ...

baidu_36161424的博客 819

Leetcode 1038.从二叉搜索树到更大和树

给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node的新值等于原树中大于或等于node.val的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键小于节点键的节点。 节点的右子树仅包含键大于节点键的节点。 左右子树也必须是二叉搜索树。 示例: 输入:[4,1,6,0,2,5,7,null,null,null,3,null,nul...

weixin_42509956的博客 749

Leetcode 1038:从二叉搜索树到更大和树

题目描述 给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node的新值等于原树中大于或等于node.val的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键小于节点键的节点。 节点的右子树仅包含键大于节点键的节点。 左右子树也必须是二叉搜索树。 示例: 输入:[4,1,6,0,2,5,7,null,null,null,3,nul...

weixin_35338624的博客 329

[力扣c语言实现]1038. 从二叉搜索树到更大和树

1038. 从二叉搜索树到更大和树1. 题目描述2.代码如下3. 非递归遍历二叉树的通用做法 1. 题目描述 给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键小于节点键的节点。 节点的右子树仅包含键大于节点键的节点。 左右子树也必须是二叉搜索树。...

dengwodaer的博客 248

leetcode —— 1038. 从二叉搜索树到更大和树

给出二叉 搜索 树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。 节点的右子树仅包含键 大于 节点键的节点。 左右子树也必须是二叉搜索树。 示例: 输入:[4,1,6,0,2,5,7,null,null,null,3,null,nu...

然后就去远行 588

LeetCode动画 | 1038. 从二叉搜索树到更大和树

今天分享一个LeetCode题,题号是1038,标题是:从二分搜索树到更大和数。 题目描述 给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件: 1)节点的左子树仅包含键小于节点键的节点。 2)节点的右子树仅包含键大于节点键的节点。 3)左右子树也必须是二叉搜索树。 示例...

zoukeqing的博客 1031

LeetCode 1038. 从二叉搜索树到更大和树

目录结构 1.题目 2.题解 1.题目 给出二叉 搜索 树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node的新值等于原树中大于或等于node.val的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。 节点的右子树仅包含键 大于 节点键的节点。 左右子树也必须是二叉搜索树。 示例: 输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8] 输出:[30,36,21,36...

HarvestWu的博客 347

Leetcode 1038. 从二叉搜索树到更大和树【逆向中序遍历】

文章目录问题描述解题报告实现代码参考资料 问题描述 给出二叉 搜索 树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。 节点的右子树仅包含键 大于 节点键的节点。 左右子树也必须是二叉搜索树。 示例: 输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8] 输出:[30,36,21,36,35,2

MD 595

leetcode 1038. 从二叉搜索树到更大和树

给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node的新值等于原树中大于或等于node.val的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键小于节点键的节点。 节点的右子树仅包含键大于节点键的节点。 左右子树也必须是二叉搜索树。 示例: 输入:[4,1,6,0,2,5,7,null,null,null,3,null,null...

qq_37998320的博客 245

【Leetcode_总结】1038. 从二叉搜索树到更大和树 - python

Q: 给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点node的新值等于原树中大于或等于node.val的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键小于节点键的节点。 节点的右子树仅包含键大于节点键的节点。 左右子树也必须是二叉搜索树。 链接:https://leetcode-cn.com/problems/binary-sea...

maka_uir的博客 562

Leetcode—1038.从二叉搜索树到更大和树【中等】

二叉搜索树的中序遍历(左根右)结果是一个单调递增的有序序列,我们反序进行中序遍历(右根左),即可以得到一个单调递减的有序序列。通过累加单调递减的有序序列,我们可以得到大于等于 node.val 的新值,并重新赋值给 node。按照“右根左”的顺序,递归遍历二叉搜索树,累加遍历到的所有节点值到 s 中,然后每次赋值给对应的 node 节点。

Atticus的博客 242

【LeetCode】1038. 从二叉搜索树到更大和树(JAVA)

原题地址:https://leetcode-cn.com/problems/binary-search-tree-to-greater-sum-tree/ 题目描述: 给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键小于节点键的节点。 节点的右...

rabbitsockx的博客 488
上一篇: 剑指 Offer(第2版)面试题 19:正则表达式匹配
下一篇: 剑指 Offer(第2版)面试题 27:二叉树的镜像
UestcXiye
博客等级 码龄8年 9032粉丝 1306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值