leetcode 938. 二叉搜索树的范围和

题解

二叉搜索树的左边小于根,右边大于根,根值root.ValL,R之间的就是我们要加上的值

示例代码(go)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func rangeSumBST(root *TreeNode, L int, R int) int {
res := 0
if root == nil {
return res
}
if root.Val >= L && root.Val <= R {
res += root.Val
}
if root.Val > L {
res += rangeSumBST(root.Left, L, R)
}
if root.Val < R {
res += rangeSumBST(root.Right, L, R)
}
return res
}