首页 > 其他 > 详细

LeetCode 538. Convert BST to Greater Tree

时间:2020-03-14 17:30:25      阅读:63      评论:0      收藏:0      [点我收藏+]

538. Convert BST to Greater Tree(把二叉搜索树转换为累加树)

链接

https://leetcode-cn.com/problems/convert-bst-to-greater-tree

题目

给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。

?

例如:

输入: 原始二叉搜索树:
5
/ 2 13

输出: 转换为累加树:
18
/ 20 13
?

注意:本题和 1038:?https://leetcode-cn.com/problems/binary-search-tree-to-greater-sum-tree/ 相同

思路

直接递归,新建一个sum拿来存储值,然后修改结点值,这里记得右中左的方式。

代码

  int sum = 0;

  public TreeNode convertBST(TreeNode root) {
    if (root != null) {

      convertBST(root.right);
      sum += root.val;
      root.val = sum;
      convertBST(root.left);
    }
    return root;
  }

LeetCode 538. Convert BST to Greater Tree

原文:https://www.cnblogs.com/blogxjc/p/12493086.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!