双指针法有许多不同的应用场景:
- 滑动窗口:利用循环控制终止位置,动态移动初始位置,整个过程类似于平衡不平衡然后循环的过程(终止位置到达满足条件的点,初始位置移动到可以使得条件不满足的点,然后终止位置再次移动到达满足条件的点,初始位置又来破坏这种平衡,不断循环,直到遍历完整个数组),栗子 209.长度最小的子数组
- 快慢指针:快指针负责遍历,慢指针负责存储我们想要的值。使用这种方法无需开辟新的空间, 栗子 151. 反转字符串中的单词,这个例子中去除数组中的空格时,就用到了快慢指针
- 其他
15. 三数之和 中也用到了双指针,只不过双指针分别代表的是两个不同的数