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);
    }
}
相关推荐
okiseethenwhat5 分钟前
Java 进程 CPU 飙高排查全流程详解
java·开发语言
2601_949816687 分钟前
使用rustDesk搭建私有远程桌面
java
Frostnova丶9 分钟前
LeetCode 735 & 2751.栈模拟碰撞问题详解
算法·leetcode
IT大师兄吖13 分钟前
Qwen3-ASR 1.7B 音频转字幕 懒人整合包
人工智能·算法·音视频
看见代码就想敲14 分钟前
java学习之(Maven pom.xml 详细讲解)
java·学习·maven
糖炒栗子032622 分钟前
图片加水印与 EXIF 保留方案
java
tongxh42322 分钟前
Spring Boot问题总结
java·spring boot·后端
爱丽_23 分钟前
数据库索引为什么选 B+ 树:InnoDB 聚簇索引、回表与覆盖索引
数据库·算法·哈希算法
wfbcg28 分钟前
每日算法练习:LeetCode 28. 找出字符串中第一个匹配项的下标 ✅
算法·leetcode·职场和发展
Chan1628 分钟前
SpringAI:RAG 最佳实践与调优
java·spring boot·ai·java-ee·intellij-idea·rag·springai