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);
    }
}
相关推荐
杰克尼10 分钟前
苍穹外卖--day08
java·数据库·spring boot·mybatis·notepad++
lierenvip29 分钟前
SQL 建表语句详解
java·数据库·sql
kuntli34 分钟前
Spring Bean生命周期全解析
java
ok_hahaha35 分钟前
java从头开始-苍穹外卖-day06-微信小程序开发-微信登录和商品浏览
java·微信·微信小程序·小程序
Java面试题总结42 分钟前
Spring @Validated失效?原因、排查与高效解决方案全解析
java·spring boot·spring
剑锋所指,所向披靡!1 小时前
MySQL数据的增删改查
java·数据库·mysql
Villiam_AY1 小时前
一次 DNS 端口引发的代理网络和公司内网冲突问题
java·服务器·数据库
dgvri1 小时前
比较Spring AOP和AspectJ
java
eggwyw1 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
m0_672703312 小时前
上机练习第49天
数据结构·算法