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);
    }
}
相关推荐
❀͜͡傀儡师几秒前
运维问题排查笔记:磁盘、Java进程与SQL执行流程
java·运维·笔记
篱笆院的狗1 分钟前
Java 中如何创建多线程?
java·开发语言
默 语2 分钟前
RAG实战:用Java+向量数据库打造智能问答系统
java·开发语言·数据库
醒过来摸鱼4 分钟前
Java Compiler API使用
java·开发语言·python
M__336 分钟前
动规入门——斐波那契数列模型
数据结构·c++·学习·算法·leetcode·动态规划
dazhong201210 分钟前
Mybatis 敏感数据加解密插件完整实现方案
java·数据库·mybatis
TDengine (老段)24 分钟前
TDengine 在智能制造领域的应用实践
java·大数据·数据库·制造·时序数据库·tdengine·涛思数据
Coder_Boy_26 分钟前
基于 MQTT 的单片机与 Java 业务端双向通信全流程
java·单片机·嵌入式硬件
Asurplus29 分钟前
Centos7安装Maven环境
java·centos·maven·apache·yum
LYFlied31 分钟前
Vue3虚拟DOM更新机制源码深度解析
前端·算法·面试·vue·源码解读