老师 这边的 forEach 换成for 循环 为什么执行结果就不一样了呢
来源:15-2 LeetCode:46. 全排列

qq_阿玛尼_1
2022-06-06
for (let i =0; i<nums.length;i++){
if(path.includes(nums[i])) {return}
backtrack(path.concat(nums[i]))
}
写回答
3回答
-
viTaemin_nanali
2022-12-10
var permute = function (nums) {
const res = [];
const backTrack = (path) => {
if (path.length === nums.length) {
res.push(path);
return;
}
for (let i = 0; i < nums.length; i++) {
const num = nums[i];
if (!path.includes(num)) {
backTrack(path.concat(num));
}
}
};
backTrack([]);
return res;
};
00 -
qq_阿玛尼_1
提问者
2022-06-06
for 循环不应该使用 return。 return 跳出for循环 且不执行for循环之外的语句 此处应使用 continue
00 -
lewis
2022-06-06
可以console log 看看
00
相似问题