deno.land / x / masx200_leetcode_test@10.6.5 / range-sum-of-bst / index.ts

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { TreeNode } from "../binary-tree-inorder-traversal/TreeNode.ts";
export default function rangeSumBST( root: TreeNode | null, low: number, high: number,): number { if (!root) { return 0; } const current: TreeNode[] = [root]; let result = 0; level(current, low, high, (r) => { for (const n of r) { if (low <= n && n <= high) { result += n; } } }); return result;}
function level( nodes: TreeNode[], low: number, high: number, output: (r: number[]) => void,) { if (nodes.length === 0) { return; }
output(nodes.map((n) => n.val));
level( nodes .map((n) => { if (n.val > high) { return n.left; } if (n.val < low) { return n.right; } return [n.left, n.right].filter(Boolean) as TreeNode[]; }) .flat() .filter(Boolean) as TreeNode[], low, high, output, );}
masx200_leetcode_test

Version Info

Tagged at
a year ago