一年前的思路都比现在强 醉了,真实越来越菜
这次用的是 非0则向前插入,但是要记录下第一个0的位置,一年前我想的是将0移除,在数组尾补0,需要记录整理的0的个数
function moveZeroes(nums: number[]): void {
let i:number=0
let start:number=0
let first:boolean = true
while(i<nums.length) {
if(nums[i]!==0){
nums.splice(start, 0, nums[i])
nums.splice(i+1, 1)
start++
} else if(first) {
start=i
first=false
}
i++
}
};
// one year later
var moveZeroes = function(nums) {
let length = nums.length
for(let i = 0; i<length; i++) {
if(nums[i] === 0) {
nums.splice(i,1)
nums.push(0)
length--
i--
}
}
};