Skip to content

Latest commit

 

History

History
32 lines (27 loc) · 531 Bytes

46. 全排列.md

File metadata and controls

32 lines (27 loc) · 531 Bytes

代码

var permute = function(nums) {
  if (!nums.length) {
    return [];
  }
  nums.sort((a, b) => a - b);
  let res = [], path = [];

  function dfs(visit, path) {
    if (path.length == nums.length) {
      res.push([...path]);
      return;
    }
    for(let i = 0; i < nums.length; i ++) {
      if (visit[i]) continue;
      let cur = nums[i];
      visit[i] = true;
      path.push(cur);
      dfs(visit, path);
      visit[i] = false;
      path.pop()
    }
  }
  dfs([], path);
  return res;
};