1.题目详情
给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。
2.解题思路
看了题解才会的。理解题目,题目的意思是返回[low,high]范围内的节点之和,注意节点要在范围之间
3.代码实现
这里采用的是先序二叉树(头左右)
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution(object):
def rangeSumBST(self, root, low, high):
res = 0
if not root:
return res
# 先序二叉树(头左右)
res += self.rangeSumBST(root.left,low,high)
if low <= root.val <= high:
res += root.val
res += self.rangeSumBST(root.right,low,high)
return res
4.知识点
二叉树