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

1 Answer

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

function generatePermutation(arr: string[], l: number, r: number): void {
  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: string = "ABC";

const chars: string[] = s.split('');

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




/*
run:
 
"ABC" 
"ACB" 
"BAC" 
"BCA" 
"CBA" 
"CAB" 

*/

 



answered Nov 5 by avibootz
...