Range Sum of BST
Question
Given the
root
node of a binary search tree, return the sum of values of all nodes with value betweenL
andR
(inclusive).The binary search tree is guaranteed to have unique values.
Example 1:
Input: root = [10,5,15,3,7,null,18], L = 7, R = 15 Output: 32
Example 2:
Input: root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10 Output: 23
Note:
- The number of nodes in the tree is at most
10000
.- The final answer is guaranteed to be less than
2^31
.
Approach 1: Depth First Search
Intuition and Algorithm
We traverse the tree using a depth first search. If
node.val
falls outside the range [L, R]
, (for
example node.val < L
), then we know that only the right
branch could have nodes with value inside [L, R]
.
We showcase two implementations - one using a recursive algorithm, and one using an iterative one.
Recursive Implementation
1 | # Definition for a binary tree node. |
Iterative Implementation
1 | class Solution(object): |