代码随想录——把二叉搜索树转换为累加树(Leetcode538)

题目链接
在这里插入图片描述

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    private int sum = 0; // 用于累加所有节点的值

    public TreeNode convertBST(TreeNode root) {
        traverse(root);
        return root;
    }

    private void traverse(TreeNode root) {
        if (root == null) {
            return;
        }
        
        // 首先遍历右子树
        traverse(root.right);
        
        // 访问节点本身,并更新sum
        sum += root.val;
        root.val = sum;
        
        // 最后遍历左子树
        traverse(root.left);
    }
}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-15 14:16:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-15 14:16:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-15 14:16:02       82 阅读
  4. Python语言-面向对象

    2024-06-15 14:16:02       91 阅读

热门阅读

  1. 八、BGP

    八、BGP

    2024-06-15 14:16:02      22 阅读
  2. TypeScript中的Symbol,确实唯一。。。

    2024-06-15 14:16:02       27 阅读
  3. 认识一些分布-关于极值点分布的一些知识

    2024-06-15 14:16:02       26 阅读
  4. 把本机的bash构建到docker镜像里面

    2024-06-15 14:16:02       22 阅读
  5. AbpVnext中的DDD指南之聚合根

    2024-06-15 14:16:02       35 阅读
  6. grep命令知多少

    2024-06-15 14:16:02       25 阅读
  7. prometheus relabel_configs 标签重写

    2024-06-15 14:16:02       33 阅读
  8. openresty/openresty离线镜像安装包

    2024-06-15 14:16:02       30 阅读
  9. 二、OSI七层模型和TCP,IP模型基本概念

    2024-06-15 14:16:02       29 阅读
  10. 消费全返如何盈利?新零售分销营销模式解析

    2024-06-15 14:16:02       26 阅读