【发布时间】:2020-01-19 05:29:32
【问题描述】:
问题:给定一个不同整数的集合,返回所有可能的排列。
示例:输入:[1,2,3]
期望的输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
在 JavaScript 中数组不是通过引用传递的吗?为什么我返回结果数组是空的?
/**
* @param {number[]} nums
* @return {number[][]}
*/
var permute = function(nums) {
var result = [];
helper(nums, result, []);
return result;
};
var helper = function(nums, result, cur) {
if (cur.length == nums.length) {
result.push(cur);
} else {
for (let i = 0; i < nums.length; i++) {
cur.push(nums[i]);
helper(nums, result, cur);
cur.pop();
}
}
}
console.log(permute([1, 2, 3]));
【问题讨论】:
标签: javascript algorithm recursion data-structures permutation