// 给定一个整数数组,请将其中的0移动到最后,并保持其他元素顺序不便。
// const list = [1,0,0,2,3]
// moveZeros(list)
// console.log(list) // [1,2,3,0,0]
// 请说明你的代码的时间空间复杂度。
/**
* @param {Array<any>} list
* @returns {void}
*/
// function moveZeros(list) {
// // your code here
// const notZeroList = [];
// const zeroList = [];
// for(const item of list) {
// if(item === 0) {
// zeroList.push(item);
// }else{
// notZeroList.push(item);
// }
// };
// return [...notZeroList,...zeroList];
// };
function moveZeros(nums) {
let insetPos = 0;
for (let i = 0; i < nums.length; i++) {
if (nums[i] !== 0) {
nums[insetPos++] = nums[i];
};
};
while (insetPos < nums.length) {
nums[insetPos++] = 0;
}
return nums;
}
const list = [1, 0, 0, 2, 3]
moveZeros(list)
console.log(list, moveZeros(list)) // [1,2,3,0,0]
console