“Range Sum of BST” Javascript solution Cheat Sheet

Fadi Tillman
2 min readJun 19, 2021

The Range Sum of the BST challenge is in the easy category and is a good start for understanding more challenging algorithms using trees as a data structure. I will focus on explaining a solution that works and not on the O time and space complexity.

Challenge: “Given the root node of a binary search tree and two integers low and high, return the sum of values of all nodes with a value in the inclusive range [low, high].”LeetCode


//Binary search tree data structure.//Two integers low and high defined the range.//Return sum of values within the range, including range values.


Input: root = [10,5,16,3,6,null,19], low = 6, high = 16Nodes 6, 10, and 16 are in the range [6, 16]. 6 + 10 + 16 =32 Output: 3210
5 16
/\ \
3 6 19


//Loop trought the left and right branch of the tree,//check if node value is within the defined range,//if it is then add it to the sum within the range,// return the final sum of range values.

1. Sum result will be pushed to an array

sum = [];

2. Create a helper method for the node

function dsf(node){

3. If no node return null

if(!node) return null;

4. Starting by left branch then right



5. If the node value is greater or equal to low and smaller or equal to high it is within the range

if (node.val >= low && node.val <= high){

6. If within the range, push node value to the sum



7. Return sum by addition nodes values using reduce

return sum.reduce((a,b)=> a+b,0 )

Solution :

var rangeSumBST = function(root, low, high) {sum = [];function dsf(node){if(!node) return null;dsf(node.left)high to be within the rangeif (node.val >= low && node.val <= high){sum.push(node.val)}dsf(node.right)}dsf(root)console.log(sum)return sum.reduce((a,b)=> a+b,0 )};