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);
    }
}
相关推荐
AI人工智能+电脑小能手21 小时前
【大白话说Java面试题】【Java基础篇】第40题:Java中的深拷贝和浅拷贝有什么区别
java·开发语言·后端·面试
@小匠21 小时前
云之家表单数据解析 skills (yzj-form-parser)
java
云烟成雨TD21 小时前
Spring AI Alibaba 1.x 系列【48】状态图编译配置类:CompileConfig 源码解析
java·人工智能·spring
xh didida21 小时前
算法 -- 位运算
开发语言·c++·算法
祁_z21 小时前
大模型轻量化:模型格式选型(ONNX/GGUF/TFLite) + 压缩三剑客(量化/剪枝/蒸馏)+ 大模型推理执行流程介绍
算法·机器学习·剪枝·量化·蒸馏·大模型轻量化
贫民窟的勇敢爷们1 天前
Java 与 Python 如何选型与融合
java·开发语言·python
绛橘色的日落(。・∀・)ノ1 天前
机器学习之手写数字识别
算法
流年如夢1 天前
单链表Ⅲ(LeetCode)
数据结构·算法·leetcode·职场和发展
小宇的天下1 天前
Calibre DESIGNrev 单元(Cell)操作核心指南
java·前端·javascript
阿苟1 天前
spring重点详解
java·后端·面试