纠正 0078.子集问题 JS 、TS 版本代码

JS 和 TS 里面 数组深拷贝一般采用 ES6 扩展运算符 ... ,或者 Array.from() 方法,而不会采用实例方法 slice. slice方法用于数组分割等操作,请注意代码书写规范!
This commit is contained in:
Luo
2022-05-21 10:06:05 +08:00
committed by GitHub
parent e07a3caa02
commit fd194bd52f

View File

@ -260,7 +260,7 @@ var subsets = function(nums) {
let result = [] let result = []
let path = [] let path = []
function backtracking(startIndex) { function backtracking(startIndex) {
result.push(path.slice()) result.push([...path])
for(let i = startIndex; i < nums.length; i++) { for(let i = startIndex; i < nums.length; i++) {
path.push(nums[i]) path.push(nums[i])
backtracking(i + 1) backtracking(i + 1)
@ -280,7 +280,7 @@ function subsets(nums: number[]): number[][] {
backTracking(nums, 0, []); backTracking(nums, 0, []);
return resArr; return resArr;
function backTracking(nums: number[], startIndex: number, route: number[]): void { function backTracking(nums: number[], startIndex: number, route: number[]): void {
resArr.push(route.slice()); resArr.push([...route]);
let length = nums.length; let length = nums.length;
if (startIndex === length) return; if (startIndex === length) return;
for (let i = startIndex; i < length; i++) { for (let i = startIndex; i < length; i++) {