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);
    }
}
相关推荐
田梓燊几秒前
力扣:146.LRU 缓存
算法·leetcode·缓存
A-Jie-Y5 分钟前
JAVA设计模式-建造者模式
java·设计模式
_深海凉_7 分钟前
LeetCode热题100-杨辉三角
算法·leetcode·职场和发展
曹牧14 分钟前
Java Web 开发:servlet-mapping‌
java·数据仓库·hive·hadoop
码云数智-大飞15 分钟前
OpCache 原理深挖:从字节码缓存到预加载(Preloading)的实战配置
java·开发语言
小O的算法实验室17 分钟前
2025年SEVC,面向进化计算的学习注入式优化,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
YXWik626 分钟前
Claude Code
java
啊我不会诶26 分钟前
2024北京市赛补题
c++·算法
小旭952727 分钟前
分布式事务 Seata 详解 + 链路追踪 SkyWalking 实战
java·分布式·后端·信息可视化·skywalking
shehuiyuelaiyuehao27 分钟前
算法13,滑动窗口,水果成篮
算法·哈希算法·散列表