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);
    }
}
相关推荐
赵域Phoenix14 小时前
Origin导入xlsx数据解锁编辑
算法
庞轩px14 小时前
后端开发面试题总结
java·jvm·面试·并发编程·mysql与redis·spring与消息队列·网络协议与设计模式
寻寻觅觅☆14 小时前
东华OJ-基础题-33-数字之和(C++)
数据结构·c++·算法
希望永不加班15 小时前
SpringBoot 整合 MyBatis 完整实战
java·spring boot·后端·spring·mybatis
wuqingshun31415915 小时前
说说事务的隔离级别
java·spring
API快乐传递者15 小时前
1688商品数据接口:供应链ERP数字化的核心引擎
java·大数据·运维
鱼鳞_15 小时前
Java学习笔记_Day21
java·笔记·学习
码云数智-大飞15 小时前
Java异常体系深度解析:驾驭Checked与Unchecked的艺术
java
fengci.15 小时前
polar2026年春季个人挑战赛(WEB 困难部分)
java·大数据·elasticsearch
攒了一袋星辰15 小时前
SequenceGenerator废弃序列号异步补偿机制技术实现方案
java·开发语言·数据库·mysql