题解 | #字符串的排列#

字符串的排列

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,
};

全部评论

相关推荐

07-01 13:37
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务