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);
    }
}
相关推荐
RwTo几秒前
【源码】-Java线程池ThreadPool
java·开发语言
SadSunset1 分钟前
(15)抽象工厂模式(了解)
java·笔记·后端·spring·抽象工厂模式
兮动人5 分钟前
EMT4J定制规则版:Java 8→17迁移兼容性检测与规则优化实战
java·开发语言·emt4j
一点★6 分钟前
Java中的常量池和字符串常量池
java·开发语言
问君能有几多愁~26 分钟前
C++ 日志实现
java·前端·c++
菜鸟plus+30 分钟前
Java 接口的演变
java·开发语言
李慕婉学姐31 分钟前
【开题答辩过程】以《基于springboot的地铁综合服务管理系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·spring boot·后端
IT空门:门主1 小时前
Spring AI的教程,持续更新......
java·人工智能·spring·spring ai
期待のcode1 小时前
Springboot配置属性绑定
java·spring boot·后端
smj2302_796826521 小时前
解决leetcode第3768题.固定长度子数组中的最小逆序对数目
python·算法·leetcode