leetcode 1038
每个数加上大于或者等于它的数,根据二叉搜索树特点进行 右-中-左的遍历,其中操作处理节点值相加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
class Solution { public: TreeNode* bstToGst(TreeNode* root) { if(root) dfs(root); return root; } private: int pre = 0; void dfs(TreeNode* node) { if(node) { dfs(node->right); node->val += pre; pre = node->val; dfs(node->left); } } };
|