LCR157.套餐内商品的排列顺序
链接:LCR157.套餐内商品的排列顺序
难度:Medium
标签:字符串、回溯
简介:输入一个字符串,打印出该字符串中字符的所有排列。
题解 1 - typescript
- 编辑时间:2021-06-22
- 执行用时:140ms
- 内存消耗:47.5MB
- 编程语言:typescript
- 解法介绍:全排列。
function permutation(s: string): string[] {
  const list = new Set<string>();
  const dfs = (curStr: string = '', waitStr: string = s) => {
    if (waitStr.length === 1) {
      list.add(curStr + waitStr);
      return;
    }
    for (let i = 0, l = waitStr.length; i < l; i++) {
      const newCurStr = curStr + waitStr[i];
      const newWaitStr = waitStr.substring(0, i) + waitStr.substring(i + 1);
      dfs(newCurStr, newWaitStr);
    }
  };
  dfs();
  return [...list];
}