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·数据库·时序数据库·kingbase·数据库平替用金仓·金仓数据库
stripe-python4 分钟前
十二重铲雪法(下)
c++·算法
踩坑记录8 分钟前
leetcode hot100 994. 腐烂的橘子 medium bfs
leetcode·宽度优先
I Promise3410 分钟前
BEV视角智驾方案全维度发展梳理
人工智能·算法·计算机视觉
zlpzpl30 分钟前
Java总结进阶之路 (基础二 )
java·开发语言·python
冬夜戏雪1 小时前
线性池java demo
java·开发语言
化学在逃硬闯CS1 小时前
【Leetcode热题100】108.将有序数组转换为二叉搜索树
数据结构·c++·算法·leetcode
追随者永远是胜利者1 小时前
(LeetCode-Hot100)5. 最长回文子串
java·算法·leetcode·职场和发展·go
小灵不想卷1 小时前
LangChain4j 多模态
java·langchain4j
tankeven1 小时前
HJ86 求最大连续bit数
c++·算法