剑指 Offer II 083. 没有重复元素集合的全排列

88 阅读1分钟

剑指 Offer II 083. 没有重复元素集合的全排列

将代码for (var i = 0; i < arr.length; i++) {,看成一次,比如取自第一个值,然后放入一个篮子中,然后执行剩下元素的递归

var permute = (arr) => {
  if (!arr) return [];
  var res = [];
  f([]);
  return res;
  function f(brr) {
    if (arr.length === brr.length) {
      res.push(brr);
      return;
    }
    for (var i = 0; i < arr.length; i++) {
      var n = arr[i];
      if (brr.includes(n)) continue;
      f(brr.concat(n));
    }
  }
};


image.png