Leetcode 538:把二叉搜索树转化为累加树

给出二叉搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。

解题思路:

其实就是相当于反中序遍历,然后当前结点的值加上之前遍历结点值的和。

java 复制代码
public class title538 {

    int sum=0;   //sum为之前节点的和
    public TreeNode convertBST(TreeNode root) {
        traversal(root);
        return root;
    }

    //反中序遍历
    public void traversal(TreeNode root){
        if(root==null) return;
        //遍历顺序为 右,中,左
        traversal(root.right);
        root.val=root.val+sum;
        sum=root.val;
        traversal(root.left);
    }
}
相关推荐
wenlonglanying1 分钟前
springboot与springcloud对应版本
java·spring boot·spring cloud
乐分启航3 分钟前
【无标题】
深度学习·算法·目标检测·transformer·迁移学习
稻草猫.8 分钟前
Spring统一功能处理
java·后端·spring
GfovikS0610011 分钟前
C++中的函数式编程
开发语言·c++·算法
2401_8579182912 分钟前
C++中的构建器模式
开发语言·c++·算法
穿条秋裤到处跑16 分钟前
每日一道leetcode(2026.03.25):等和矩阵分割 I
算法·leetcode·矩阵
学不完的19 分钟前
ZrLog 博客系统部署指南(无 War 包版,Maven 构建 + 阿里云镜像优化)
java·linux·nginx·阿里云·maven
小江的记录本21 分钟前
【Java】Java核心关键字:final、static、volatile、synchronized、transient(附《面试高频考点》)
java·开发语言·spring boot·后端·sql·spring·面试
实心儿儿24 分钟前
算法9:相同的树
算法·leetcode·职场和发展
Zarek枫煜30 分钟前
zig与c3的算法 -- 静态队列
开发语言·stm32·单片机·嵌入式硬件·算法·51单片机