1
var pseudoPalindromicPaths = function (root) {
2
if (!root) return 0;
3
// if even it's zero or it's power of two when odd
4
const ways = (r = root, d = 0) => {
5
if (!r) return 0;
6
d = d ^ (1 << r.val);
7
// leaf
8
if (r.left == r.right && r.left == null) {
9
const hasAllEven = d == 0;
10
const hasOneOdd = (d ^ (d & -d)) == 0;
11
return Number(hasEven || hasOneOdd);
12
}
13
return ways(r.left, d) + ways(r.right, d);
14
};
15
return ways();
16
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0