[Leet Code] Range Sum of BST

Matthew Boyd
2 min readDec 27, 2020

Leetcode: https://leetcode.com/problems/range-sum-of-bst/

Given the root node of a binary search tree, return the sum of values of all nodes with a value in the range [low, high].

Example 1:

Input: root = [10,5,15,3,7,null,18], low = 7, high = 15
Output: 32

Example 2:

Input: root = [10,5,15,3,7,13,18,1,null,6], low = 6, high = 10
Output: 23

Constraints:

  • The number of nodes in the tree is in the range [1, 2 * 104].
  • 1 <= Node.val <= 105
  • 1 <= low <= high <= 105
  • All Node.val are unique.

Solution:

class Solution(object):
def rangeSumBST(self, root, L, R):
"""
:type root: TreeNode
:type L: int
:type R: int
:rtype: int
"""
return self.inorderTraversal(root,L,R)

def inorderTraversal(self, root, L, R):
res = 0
if root:
res = self.inorderTraversal(root.left,L,R)
if root.val >= L and root.val <= R:
res += root.val
res = res + self.inorderTraversal(root.right,L,R)
return res

--

--