How to write a recursive function to generate all permutations of a string in JavaScript

1 Answer

0 votes
function swap(arr, i, j) {
    const temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
}

function generatePermutation(arr, l, r) {
    if (l === r) {
        console.log(arr.join(''));
    } else {
        for (let i = l; i <= r; i++) {
            swap(arr, l, i);
            generatePermutation(arr, l + 1, r);
            swap(arr, l, i); // backtrack
        }
    }
}


const s = 'ABC';

const chars = s.split('');

generatePermutation(chars, 0, chars.length - 1);




/*
run:

ABC
ACB
BAC
BCA
CBA
CAB

*/

 



answered Nov 5 by avibootz
...