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);
    }
}
相关推荐
阿巴斯甜3 分钟前
Java中 Consumer 的用法:
java
做个文艺程序员16 分钟前
Spring Boot 封装 OpenClAW 服务层最佳实践【OpenClAW + Spring Boot 系列 第2篇】
java·人工智能·spring boot·开源
꧁细听勿语情꧂26 分钟前
数据结构概念和算法、时间复杂度、空间复杂度引入
c语言·开发语言·数据结构·算法
说实话起个名字真难啊27 分钟前
2026数字中国创新大赛数字安全赛道writeup之web题目一
java·前端·安全
后端AI实验室27 分钟前
我用AI把一个外包需求从30天压到5天交付,然后客户说:下次还找你
java·ai
biubiubiu070636 分钟前
ChatModel 与 ChatClient 关系完整指南
java
Felven37 分钟前
B. The 67th 6-7 Integer Problem
数据结构·算法
玉树临风ives38 分钟前
atcoder ABC 454 题解
算法·深度优先·图论
钮钴禄·爱因斯晨1 小时前
聚焦操作系统中的PV操作
数据库·算法·系统架构·c#
0xDevNull1 小时前
Java 深度解析:for 循环 vs Stream.forEach 及性能优化指南
java·开发语言·性能优化