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);
    }
}
相关推荐
寄存器漫游者14 小时前
Linux 线程间通信
数据库·算法
岛雨QA14 小时前
查找算法「Java数据结构与算法学习笔记7」
数据结构·算法
宝贝儿好14 小时前
【强化学习】第十章:连续动作空间强化学习:随机高斯策略、DPG算法
人工智能·python·深度学习·算法·机器人
isyoungboy14 小时前
从图像中提取亚像素边缘点
算法
郝学胜-神的一滴14 小时前
深入理解链表:从基础到实践
开发语言·数据结构·c++·算法·链表·架构
你住过的屋檐14 小时前
【Java】虚拟线程详解
java·开发语言
逍遥德14 小时前
Maven教程.02-基础-pom.xml 使用标签大全
java·后端·maven·软件构建
岛雨QA14 小时前
排序算法「Java数据结构与算法学习笔记6」
数据结构·算法
熬夜有啥好14 小时前
Linux软件编程——综合小练习
linux·算法·目录遍历·fgets·strcpy·linux内核与用户交互·strtok
民乐团扒谱机15 小时前
【硬核解析】网易云听歌/哼歌识曲底层技术:从算法实现到工程落地(附核心公式/伪代码)
算法