题目二:
两层for循环,一个for循环遍历数组元素 ,第二个for循环更新数组。
解法二:(双指针法)
双指针法(快慢指针法): 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。
定义快慢指针
- 快指针:寻找新数组的元素 ,新数组就是不含有目标元素的数组
- 慢指针:指向更新 新数组下标的位置
解法三:(相向双指针法)
由于题目提及可以改变数组元素的顺序,所以,可以用后面的元素去替换前面匹配的目标元素。
left <= right 可以取等号,是因为right = nums.length,右边为闭区间。