func dfs(now *TreeNode, L int,R int, p *int) {
if now.Left != nil && now.Val >= L {
dfs(now.Left,L,R,p)
}
if now.Right != nil && now.Val <= R {
dfs(now.Right,L,R,p)
}
if now.Val >= L && now.Val <= R {
*p += now.Val
}
}
func rangeSumBST(root *TreeNode, L int, R int) int {
if root == nil {return 0}
ans := 0
dfs(root,L,R,&ans)
return ans
}