Skip to content

Commit b716ef3

Browse files
committed
Time: 119 ms (91.25%), Space: 24.5 MB (79.04%) - LeetHub
1 parent 6891434 commit b716ef3

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Definition for a binary tree node.
2+
from typing import Optional
3+
4+
5+
class TreeNode:
6+
def __init__(self, val=0, left=None, right=None):
7+
self.val = val
8+
self.left = left
9+
self.right = right
10+
11+
12+
class Solution:
13+
def rangeSumBST(self, root: Optional[TreeNode], low: int, high: int) -> int:
14+
SumBST = 0
15+
16+
def preorder(node: Optional[TreeNode]):
17+
nonlocal SumBST
18+
if node:
19+
if low <= node.val <= high:
20+
SumBST += node.val
21+
preorder(node.left)
22+
preorder(node.right)
23+
preorder(root)
24+
return SumBST
25+
26+
27+
root = TreeNode(10)
28+
root.left = TreeNode(5)
29+
root.left.left = TreeNode(3)
30+
root.left.right = TreeNode(7)
31+
root.right = TreeNode(15)
32+
root.right.right = TreeNode(18)
33+
34+
low = 7
35+
high = 15
36+
37+
print(Solution().rangeSumBST(root, low, high))

0 commit comments

Comments
 (0)