以下为ChatGPT自动生成的解答,正确与否请自行判断。 也许你也可以从大家的发帖中找到想要的答案!

BFE.devAI解答 - JavaScript 代码题
168. 移动0到最后

一种解法如下:

function moveZeros(nums) {  let i = 0;  for (let j = 0; j < nums.length; j++) {    if (nums[j] !== 0) {      nums[i] = nums[j];      i++;    }  }  for (let k = i; k < nums.length; k++) {    nums[k] = 0;  }}

时间复杂度为O(n),空间复杂度为O(1)。算法使用了双指针,不借助额外的数组空间,遍历一遍数组,依次将非0元素放到数组前面,并用i记录放置位置;第二次遍历数组,将i到数组结尾的元素都赋值为0就可以了。