You are viewing a single comment's thread. Return to all comments →
js
function* inOrder(indexes, k, node = 1, depth = 1) { if (node === -1) return; let [left, right] = indexes[node - 1]; if (depth % k === 0) [left, right] = indexes[node - 1] = [right, left]; yield* inOrder(indexes, k, left, depth + 1); yield node; yield* inOrder(indexes, k, right, depth + 1); } function swapNodes(indexes, queries) { return queries.map(k => [...inOrder(indexes, k)]); }
Seems like cookies are disabled on this browser, please enable them to open this website
Swap Nodes [Algo]
You are viewing a single comment's thread. Return to all comments →
js