[算法]:快慢指针题记录

1、「移动零」,给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序

//思路:设定一个慢指针一个快指针,快指针每次+1, 当慢指针的值不等于0的时候也往后移动,当慢指针等于0并且快指针不等于0的时候,交换快慢指针的值,慢指针再+1
function moveZero(arr) {
  let i = 0let j = 0while (j < arr.length) {
    if (arr[i] !== 0) {
      i++
    } else {
      if (arr[j] !== 0) {
       [arr[i], arr[j]] = [arr[j], arr[i]]
       i++
      }
    }
    j++
  }
  return arr;
}


确认 取消