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);
    }
}
相关推荐
YQ_ZJH2 分钟前
Redisson 看门狗机制详解
java·redis
那我掉的头发算什么6 分钟前
【javaEE】多线程——线程安全进阶☆☆☆
java·jvm·安全·java-ee·intellij-idea
悟空CRM服务14 分钟前
我用一条命令部署了完整CRM系统!
java·人工智能·开源·开源软件
组合缺一15 分钟前
Solon AI 开发学习 - 1导引
java·人工智能·学习·ai·openai·solon
百***490017 分钟前
基于SpringBoot和PostGIS的各省与地级市空间距离分析
java·spring boot·spring
普通网友18 分钟前
分布式锁服务实现
开发语言·c++·算法
普通网友19 分钟前
移动语义在容器中的应用
开发语言·c++·算法
Bony-24 分钟前
Articulation Point(割点)算法详解
算法·深度优先
热心市民小刘050526 分钟前
11.18二叉树中序遍历(递归)
数据结构·算法
brave and determined30 分钟前
可编程逻辑器件学习(day24):异构计算:突破算力瓶颈的未来之路
人工智能·嵌入式硬件·深度学习·学习·算法·fpga·asic