思路
双指针法,可以用于需要遍历数组元素的情况下对元素进行操作,加快速度。需要注意的是,我一看到是双指针法,我就想的是一个指针在左,一个指针在右,然后让左边的一直找到等于val的,右边的一直找到不等于val,二者交换位置,但是我有一些特别的测试用例不通过。
这个题思路 两个指针都是从左边开始。
一个指针用于遍历数组,他不去找等于val的,他是去找不等于val的,只要你不等于val,那就是我想要的,我就把你存进另一个指针所在的位置,这样就是保留了我所有想要的。
我又去看了官方的双指针, 他对右指针并不进行判断,因为右指针的值是不是val我根本不care,我只看左指针等不等于val,
如果我右指针的值!=val,赋给了左指针,那我赚了,下次再if判断我就跳出去了。
如果右指针的值= =val,我也没啥损失,因为左指针停下来的原因就是左指针==val,val赋值给val。这时右指针往前移动,直到跳出if判断。