LeetCode 538. Convert BST to Greater Tree
考点 | 难度 |
---|---|
DFS | Medium |
题目
Given the root of 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 the sum of all keys greater than the original key in BST.
As a reminder, a binary search tree is a tree that satisfies these constraints:
The left subtree of a node contains only nodes with keys less than the node’s key.
The right subtree of a node contains only nodes with keys greater than the node’s key.
Both the left and right subtrees must also be binary search trees.
思路
inverse traversal
答案
class Solution(object):
def convertBST(self, root):
self.val = 0
def visit(root):
if root:
visit(root.right)
root.val += self.val
self.val = root.val
visit(root.left)
visit(root)
return root