zoukankan      html  css  js  c++  java
  • 538. Convert BST to Greater Tree

    Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of all keys greater than the original key in BST.

    Example:

    Input: The root of a Binary Search Tree like this:
                  5
                /   
               2     13
    
    Output: The root of a Greater Tree like this:
                 18
                /   
              20     13
    题目含义::给定一棵二叉搜索树,将它转化为更大的二叉树,规则是:结点的值 = 该结点的值 + 所有比它大的结点的值的和。
    思路:从右向左依次累加求出总和sum,然后将sum付给当前节点值

     1     int sum = 0;
     2     void convert(TreeNode cur) {
     3         if (cur == null) return;
     4         convert(cur.right);
     5         sum += cur.val;
     6         cur.val = sum;
     7         convert(cur.left);
     8     }
     9     public TreeNode convertBST(TreeNode root) {
    10         convert(root);
    11         return root;        
    12     }
  • 相关阅读:
    react-redux-reducer
    react-redux-action
    node-express-2-jade
    node-express-1
    vuex-Module
    vuex-Action(异步)
    vuex-Mutation(同步)
    vuex-getter
    vuex-state
    ##DAY7 UINavigationController
  • 原文地址:https://www.cnblogs.com/wzj4858/p/7707276.html
Copyright © 2011-2022 走看看