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);
    }
}
相关推荐
ANYOLY7 分钟前
Redis 面试题库
java·redis·面试
有意义13 分钟前
栈数据结构全解析:从实现原理到 LeetCode 实战
javascript·算法·编程语言
懒惰蜗牛15 分钟前
Day63 | Java IO之NIO三件套--选择器(下)
java·nio·选择器·selector·半包粘包·tcp缓冲区
鹿鹿鹿鹿isNotDefined18 分钟前
逐步手写,实现符合 Promise A+ 规范的 Promise
前端·javascript·算法
JavaGuide21 分钟前
美团2026届后端一二面(附详细参考答案)
java·后端
打工人你好23 分钟前
如何设计更安全的 VIP 权限体系
java·jvm·安全
L.EscaRC30 分钟前
Spring IOC核心原理与运用
java·spring·ioc
封奚泽优35 分钟前
下降算法(Python实现)
开发语言·python·算法
im_AMBER43 分钟前
算法笔记 16 二分搜索算法
c++·笔记·学习·算法
摇滚侠43 分钟前
2025最新 SpringCloud 教程,Nacos-总结,笔记19
java·笔记·spring cloud