1from collections import namedtuple
2class Solution:
3 def rangeLookupProblem(self, root, range):
4 interval = namedtuple("interval", ("start", "end"))
5 range = interval(range[0], range[1])
6 self.res = []
7
8 def dfs(node):
9 if node.val >= range.start and node.val <= range.end:
10 if node.left: dfs(node.left)
11 self.res.append(node.val)
12 if node.right: dfs(node.right)
13 if node.val < range.start and node.left: dfs(node.right)
14 elif node.val > range.end and node.right: dfs(node.left)
15 dfs(root)
16
17 return self.res