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     }
  • 相关阅读:
    wf(三)
    WF(二)
    WF4.0入门(一)
    枚举
    函数和立即函数
    对象字面量
    Break和continue语句
    对象
    循环语句
    条件分支语句(SWICH语句)
  • 原文地址:https://www.cnblogs.com/wzj4858/p/7707276.html
Copyright © 2011-2022 走看看