标签:bin arc convert color null for 节点 val str
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。
例如:
输入: 原始二叉搜索树:
5
/ \
2 13
输出: 转换为累加树:
18
/ \
20 13
O(n)
思路:反序中序遍历
/** * 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 { int sum=0; public: TreeNode* convertBST(TreeNode* root) { if(root==NULL) return root; convertBST(root->right); root->val+=sum; sum=root->val; convertBST(root->left); return root; } };
标签:bin arc convert color null for 节点 val str
原文地址:https://www.cnblogs.com/cs0915/p/13276439.html