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);
    }
}
相关推荐
Tanecious.10 分钟前
LeetCode 876. 链表的中间结点
算法·leetcode·链表
Bug退退退12313 分钟前
RabbitMQ 高级特性之重试机制
java·分布式·spring·rabbitmq
小皮侠14 分钟前
nginx的使用
java·运维·服务器·前端·git·nginx·github
Wo3Shi4七19 分钟前
哈希冲突
数据结构·算法·go
Zz_waiting.26 分钟前
Javaweb - 10.4 ServletConfig 和 ServletContext
java·开发语言·前端·servlet·servletconfig·servletcontext·域对象
全栈凯哥26 分钟前
02.SpringBoot常用Utils工具类详解
java·spring boot·后端
兮动人32 分钟前
获取终端外网IP地址
java·网络·网络协议·tcp/ip·获取终端外网ip地址
呆呆的小鳄鱼33 分钟前
cin,cin.get()等异同点[面试题系列]
java·算法·面试
独立开阀者_FwtCoder44 分钟前
"页面白屏了?别慌!前端工程师必备的排查技巧和面试攻略"
java·前端·javascript
Touper.1 小时前
JavaSE -- 泛型详细介绍
java·开发语言·算法