538.convert-bst-to-greater-tree.go 375 B

12345678910111213141516171819202122232425
  1. var sum int = 0
  2. /**
  3. * Definition for a binary tree node.
  4. * type TreeNode struct {
  5. * Val int
  6. * Left *TreeNode
  7. * Right *TreeNode
  8. * }
  9. */
  10. func convertBST(root *TreeNode) *TreeNode {
  11. sum = 0
  12. inorder(root)
  13. return root
  14. }
  15. func inorder(root *TreeNode) {
  16. if root == nil {
  17. return
  18. }
  19. inorder(root.Right)
  20. root.Val += sum
  21. sum = root.Val
  22. inorder(root.Left)
  23. }