leetcode做题笔记1038. 从二叉搜索树到更大和树

给定一个二叉搜索树 root (BST),请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。

提醒一下, 二叉搜索树 满足下列约束条件:

  • 节点的左子树仅包含键小于节点键的节点。
  • 节点的右子树仅包含键大于 节点键的节点。
  • 左右子树也必须是二叉搜索树。

示例 1:

复制代码
输入:[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]

示例 2:

复制代码
输入:root = [0,null,1]
输出:[1,null,1]

思路一:递归

c++解法

cpp 复制代码
class Solution {
public:

    int find(TreeNode* root,int val)
    {
        if(!root) return 0;
        int res = 0;
        res += find(root->right,val);
        res += root->val;
        root->val = res + val;
        res += find(root->left,root->val);
        return res;
    }

    TreeNode* bstToGst(TreeNode* root) {
        find(root,0);
        return root;
    }
};
相关推荐
Sarvartha14 分钟前
递归、回溯与动态规划学习笔记
笔记·学习·动态规划
眼镜哥(with glasses)24 分钟前
网络技术三级考试综合题笔记整理(第二题、第三题)
网络·笔记·智能路由器
qq_4017004125 分钟前
顺序、二分、插值、斐波那契查找算法
数据结构·算法·排序算法
x_xbx25 分钟前
LeetCode:26. 删除有序数组中的重复项
数据结构·算法·leetcode
WitsMakeMen26 分钟前
RoPE 算法原理?算法为什么只和相对位置有关
人工智能·算法·llm
半壶清水39 分钟前
[软考网规考点笔记]-数据通信基础之差错控制编码技术
网络·笔记·网络协议·tcp/ip
0 0 044 分钟前
CCF-CSP 38-4 月票发行【C++】考点:动态规划DP+矩阵快速幂
c++·算法·动态规划·矩阵快速幂
左左右右左右摇晃1 小时前
Java List集合
笔记
北漂Zachary1 小时前
Mysql中使用sql语句生成雪花算法Id
sql·mysql·算法
OxyTheCrack1 小时前
【C++】详细拆解std::mutex的底层原理
linux·开发语言·c++·笔记