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;
    }
};
相关推荐
Greedy Alg1 分钟前
LeetCode 438. 找到字符串中所有的字母异位词
算法·leetcode·职场和发展
Q741_1471 分钟前
C++ 力扣 76.最小覆盖子串 题解 优选算法 滑动窗口 每日一题
c++·算法·leetcode·双指针·滑动窗口
l5657581 小时前
第四十三天(JavaEE应用&ORM框架&SQL预编译&JDBC&MyBatis&Hibernate&Maven)
笔记
仙俊红2 小时前
Spring Boot `@Configuration` 与 `@Component` 笔记
java·spring boot·笔记
Ysn07194 小时前
pytorch_grad_cam 库学习笔记—— Ablation-CAM 算法的基类 AblationCAM 和 AblationLayer
pytorch·笔记·学习
霜绛4 小时前
Unity笔记(七)——四元数、延迟函数、协同程序
笔记·学习·unity·游戏引擎
lifallen5 小时前
Hadoop MapReduce 任务/输入数据 分片 InputSplit 解析
大数据·数据结构·hadoop·分布式·算法
风和日丽 随波逐流5 小时前
java18学习笔记
笔记·学习·java18
熙xi.6 小时前
数据结构 -- 哈希表和内核链表
数据结构·算法·散列表