LeetCode 538. Convert BST to Greater Tree(把BST每个节点的值都加上比它大的节点的值)

题意:把二叉查找树每个节点的值都加上比它大的节点的值。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    int sum = 0;
    TreeNode* convertBST(TreeNode* root) {
        if(root == NULL) return NULL;
        convertBST(root -> right);
        sum += root -> val;
        root -> val = sum;
        convertBST(root -> left);
        return root;
    }
};

 

posted @ 2020-03-23 17:30  Somnuspoppy  阅读(141)  评论(0编辑  收藏  举报