题解 | #字符串的排列#

字符串的排列

http://www.nowcoder.com/practice/fe6b651b66ae47d7acce78ffdd9a96c7

function Permutation(str) {
  // write code here
  const res = [],
    path = [],
    used = {};
  const arr = str.split("");

  if (arr.length === 0) return [];

  helper();
  return Array.from(new Set(res));

  function helper() {
    if (path.length === str.length) {
      res.push(path.slice().join(""));
      return;
    }

    for (let i = 0; i < arr.length; i++) {
      if (!used[i]) {
        used[i] = true;
        path.push(arr[i]);
        helper();
        path.pop();
        used[i] = false;
      }
    }
  }
}

module.exports = {
  Permutation: Permutation,
};

全部评论

相关推荐

球球别再泡了:坏,我单9要了14
点赞 评论 收藏
分享
牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务