[Leet Code] Range Sum of BST
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