【算法01天:Day1】第一章数组 LeetCode 移除元素(27)

64 阅读1分钟

题目二:

image.png

解法一:(暴力解法)

两层for循环,一个for循环遍历数组元素 ,第二个for循环更新数组。

image.png

解法二:(双指针法)

双指针法(快慢指针法): 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。

image.png

定义快慢指针

  • 快指针:寻找新数组的元素 ,新数组就是不含有目标元素的数组
  • 慢指针:指向更新 新数组下标的位置

解法三:(相向双指针法)

image.png

由于题目提及可以改变数组元素的顺序,所以,可以用后面的元素去替换前面匹配的目标元素。

image.png

left <= right 可以取等号,是因为right = nums.length,右边为闭区间。