938. Range Sum of BST
https://leetcode.com/problems/range-sum-of-bst/description/
solution
类似树的直径写法
class Solution:
def __init__(self):
self.res = 0
def rangeSumBST(self, root: Optional[TreeNode], low: int, high: int) -> int:
self.dfs(root, low, high)
return self.res
def dfs(self, root, low, high):
if not root:
return 0
if root.val < low:
self.dfs(root.right, low, high)
elif root.val > high:
self.dfs(root.left, low, high)
else:
self.res += root.val
self.dfs(root.left, low, high)
self.dfs(root.right, low, high)以下两种方法有助于加深对递归和BST理解
时间复杂度:O(n) 空间复杂度:O(h)
Last updated