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);
    }
}
相关推荐
DeepModel13 小时前
【概率分布】t分布详解
算法·概率论
CoovallyAIHub13 小时前
ICLR 2026 | 慕尼黑工大院士Navab团队联合MVTec提出FoundAD,用基础视觉编码器实现少样本异常检测
人工智能·算法·计算机视觉
仰泳的熊猫13 小时前
题目2266:蓝桥杯2015年第六届真题-打印大X
数据结构·c++·算法·蓝桥杯
⑩-13 小时前
@Vaild
java·javaee
Han.miracle13 小时前
Spring Boot 后端分层开发实战:从 MVC 到三层架构详解
java
invicinble13 小时前
it系统全链路思考
java
steel808813 小时前
SSM与Springboot是什么关系? -----区别与联系
java·spring boot·后端
wefg113 小时前
【算法】约数个数、约数和
算法
白云如幻13 小时前
【JDBC】集合、反射和泛型复习
java·开发语言
数据中穿行13 小时前
Java编译与类加载错误全指南
java