[回溯]leetcode46. 全排列

2020-10-17  本文已影响0人  _royalpioneer

题目

46. 全排列

代码如下

var permute = function(nums) {
    const res = [];
    // 从第二个参数开始依次是depth, path, used
    backTrack(nums,0,[],[],res);
    return res;
};

var backTrack = function(nums, depth, path, used, res) {
    if(depth === nums.length) {
        res.push(path.slice());
        return;
    }
    for(let i=0;i<nums.length;i++){
        if(!used[i]) {
            used[i] = true;
            path.push(nums[i]);
            backTrack(nums, depth+1, path, used, res);
            path.pop();
            used[i] = false;
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读