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;
    }
};
相关推荐
C++ 老炮儿的技术栈1 分钟前
什么是通信规约
开发语言·数据结构·c++·windows·算法·安全·链表
ljt27249606619 分钟前
Compose笔记(六十九)--Pager
笔记
零小陈上(shouhou6668889)14 分钟前
K-近邻算法 - lazy learning的代表
算法·近邻算法
有一个好名字20 分钟前
力扣-从字符串中移除星号
java·算法·leetcode
萧瑟其中~24 分钟前
二分算法模版——基础二分查找,左边界查找与右边界查找(Leetcode的二分查找、在排序数组中查找元素的第一个位置和最后一个位置)
数据结构·算法·leetcode
码上就好ovo25 分钟前
Atcoder Beginnner Contest 440
算法
koo36430 分钟前
pytorch深度学习笔记13
pytorch·笔记·深度学习
高洁0133 分钟前
CLIP 的双编码器架构是如何优化图文关联的?(3)
深度学习·算法·机器学习·transformer·知识图谱
jllllyuz38 分钟前
MATLAB实现蜻蜓优化算法
开发语言·算法·matlab