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;
    }
};
相关推荐
yi.Ist29 分钟前
8.4 Codeforces练习
算法
HW-BASE30 分钟前
C语言控制语句练习题1
c语言·开发语言·单片机·算法·嵌入式·c
weixin_4786897631 分钟前
算法【3】【链表 & 二叉树】
算法
奶黄小甜包1 小时前
C语言零基础第9讲:指针基础
c语言·笔记·学习
KoiHeng1 小时前
排序算法(二)
算法·排序算法
源远流长jerry2 小时前
C++、STL面试题总结(一)
c++·算法
泽虞2 小时前
C语言深度语法掌握笔记:语法陷阱、内存管理、指针系统
c语言·笔记·面试
秋难降3 小时前
LeetCode——迭代遍历算法
数据结构·算法·排序算法
yanxing.D3 小时前
考研408_数据结构笔记(第四章 串)
数据结构·笔记·考研·算法
庸子3 小时前
云平台托管集群:EKS、GKE、AKS 深度解析与选型指南-第四章
算法·贪心算法