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
1 2 3 4 5 6 7 8 9 10 11 |
private var sum = 0 func convertBST(_ root: TreeNode?) -> TreeNode? { if let root = root { convertBST(root.right) sum += root.val root.val = sum convertBST(root.left) } return root } |
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼