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);
    }
}
相关推荐
啦啦啦_999916 分钟前
1. AI 学习目录
java·人工智能
mygugu16 分钟前
归纳理解epoch、batch、batch size、step、iteration深度学习名词
人工智能·算法
不懂英语的程序猿26 分钟前
【Java工具类】Java提取最新错误日志(附 AI 对接思路)
java
indexsunny26 分钟前
互联网大厂Java面试实录:从Spring Boot到微服务架构的深度剖析
java·spring boot·redis·kafka·microservices·互联网大厂·面试经验
AI科技星26 分钟前
基于双隐含量(角速度 +质量 )的全量变形公式体系-发现新公式
开发语言·人工智能·线性代数·算法·矩阵·数据挖掘
格鸰爱童话27 分钟前
向AI学习项目技能(二)
java·人工智能·python·学习
@yanyu66629 分钟前
第一个前后端分离项目
java·vue.js·springboot
一叶飘零_sweeeet33 分钟前
垃圾回收核心算法:从底层逻辑到生产环境架构选型指南
java·垃圾回收算法
minji...35 分钟前
Linux 基础IO (三) (用户缓冲区/内核缓冲区深刻理解)
java·linux·运维·服务器·c++·算法
无心水39 分钟前
【常见错误】1、Java并发工具类四大坑:从ThreadLocal到ConcurrentHashMap,你踩过几个?
java·开发语言·后端·架构·threadlocal·concurrent·java并发四大坑