数组双指针刷题总结

双指针技巧分为快慢指针左右指针

快慢指针

  • 原地修改数组
    • 遍历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
作者
Lei Qi
发布于
2023年6月22日
许可协议