File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * Definition for a binary tree node.
3
+ * function TreeNode(val, left, right) {
4
+ * this.val = (val===undefined ? 0 : val)
5
+ * this.left = (left===undefined ? null : left)
6
+ * this.right = (right===undefined ? null : right)
7
+ * }
8
+ */
9
+ /**
10
+ * @param {TreeNode } root
11
+ * @param {number } distance
12
+ * @return {number }
13
+ */
14
+ const countPairs = function ( root , distance ) {
15
+ let res = 0
16
+ traverse ( root )
17
+ return res
18
+
19
+
20
+ function traverse ( node ) {
21
+ if ( node == null ) return [ ]
22
+ if ( node . left == null && node . right == null ) return [ 0 ]
23
+
24
+ const left = traverse ( node . left )
25
+ const right = traverse ( node . right )
26
+ for ( let i = 0 ; i < left . length ; i ++ ) {
27
+ for ( let j = 0 ; j < right . length ; j ++ ) {
28
+ if ( left [ i ] + right [ j ] + 2 <= distance ) res ++
29
+ }
30
+ }
31
+
32
+ return [ ...left . map ( e => e + 1 ) , ...right . map ( e => e + 1 ) ]
33
+ }
34
+ } ;
You can’t perform that action at this time.
0 commit comments