コード
/**
* @param {number[]} nums
* @return {void} Do not return anything, modify nums in-place instead.
*/
var moveZeroes = function(nums) {
let n = 0;
for(let i=0,l=nums.length-1;i<l;i++){
if(nums[i]==0){
nums.splice(i,1);
nums.push(0);
n++;
l--;
i--;
}
}
};
アイデア
トラバースし、0に遭遇したら削除し、最後に0を追加します。ポインタが1位置前方に移動し、走査の長さが1つ短くなります。