938. Range Sum of BST
Last updated
Last updated
Input: root = [10,5,15,3,7,null,18], low = 7, high = 15
Output: 32Input: root = [10,5,15,3,7,13,18,1,null,6], low = 6, high = 10
Output: 23func rangeSumBST(root *TreeNode, low int, high int) int {
var ans int
var stack []*TreeNode
for len(stack) > 0 || root != nil {
for root != nil {
stack = append(stack, root)
root = root.Left
}
root = stack[len(stack)-1]
stack = stack[:len(stack)-1]
if root.Val > high {
break
} else if root.Val >= low {
ans += root.Val
}
root = root.Right
}
return ans
}