数组双指针刷题总结
双指针技巧分为快慢指针和左右指针
快慢指针
- 原地修改数组
- 遍历fast 去探路,探到符合条件的将其赋值给slow,并slow++
- 去除有序数组/链表中去重
- 和上边类似,例如删除指定元素v: 遍历fast ,判断不符合该条件的(!=v),slow++; num[slow] == num[fast]
左右指针
1.二分查找
* 有序,直接找中间的点,判断中间是否符合对应的题目逻辑,将中间点赋值为左边界或者右边界
2.N sum 之和
* 一般是有序数组,然后左右相加,利用右边向内部移动数值减小和左边向内部移动数组变大
3.反转字符串
* 终止条件是i>j
4.回文串判断
* 判断条件s[i] == s[j]
数组双指针刷题总结
https://leiqi.top/2023-06-22-079d0af75447.html