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);
    }
}
相关推荐
智者知已应修善业8 分钟前
【51单片机0.1秒计时到21.0时点亮LED】2024-1-5
c++·经验分享·笔记·算法·51单片机
程序员二叉11 分钟前
【Java】 面试核心合集:BigDecimal、缓存池、多态、反射全解析
java·缓存·面试
apcipot_rain11 分钟前
计科八股20260606——二叉树、PCA、图深度学习、进程上下文、C语言预编译、文件读写、单精度浮点数
c语言·数据结构·算法·pca·图神经网络
scx_link15 分钟前
逻辑回归的总结
算法·机器学习·逻辑回归
Full Stack Developme15 分钟前
SpringMVC multipart 文件上传
java·开发语言
西凉的悲伤19 分钟前
Spring Security + JWT 登录认证完整实践指南
java·后端·spring·spring security·jwt
晚笙coding20 分钟前
从零讲透 LangChain 输出格式化:让模型真的“能用”
java·开发语言·langchain
奋斗的小方20 分钟前
Java进阶篇1-1:异常
java·开发语言·python
码语智行23 分钟前
行政区划 ZIP 导入(importZip)
java
何中应27 分钟前
Nexus如何设置端口号
java·服务器·maven·nexus