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);
    }
}
相关推荐
天天摸鱼的java工程师2 分钟前
工作中七天免登录如何实现
java·后端
CoovallyAIHub3 分钟前
2026 CES 如何用“视觉”改变生活?机器的“视觉大脑”被点亮
深度学习·算法·计算机视觉
小杨同学493 分钟前
C 语言实战:水果总价计算程序(结构体应用 + 细节优化)
后端·算法·程序员
q***44153 分钟前
Java性能优化实战技术文章大纲Java性能优化的核心目标与原则
java·开发语言·性能优化
毕设源码-郭学长7 分钟前
【开题答辩全过程】以 基于springbootvue图书馆选座系统设计与实现为例,包含答辩的问题和答案
java
鱼跃鹰飞8 分钟前
怎么排查线上CPU100%的问题
java·jvm·后端
Seven9710 分钟前
剑指offer-62、⼆叉搜索树的第k个结点
java
2301_8002561111 分钟前
【人工智能引论期末复习】第4章 机器学习1-基础知识
人工智能·算法·机器学习
seeksky13 分钟前
分词与 BPE 实现(tiktoken)
算法
invicinble14 分钟前
关于写原创文章的思路分析
java·spring boot·spring