二叉树(2)

538把二叉搜索树转换为累加树

和平常的遍历顺序不同这题根据题意是需要取比当前节点大的所有数值的和
而在二叉搜索树中,节点的大小关系是 左<中<右
所以自然而然地我们就得到了如下的遍历顺序:
右->中->左

class Solution {
public:
    int value=0;
    void traversal(TreeNode* root)
    {
        if(root==nullptr)
        {
            return;
        }
        traversal(root->right);
        value+=root->val;
        root->val=value;
        traversal(root->left);
    }
    TreeNode* convertBST(TreeNode* root) {
        traversal(root);
        return root;

    }
};
posted @ 2024-02-19 14:35  LiviaYu  阅读(7)  评论(0)    收藏  举报