> For the complete documentation index, see [llms.txt](https://longxingtan.gitbook.io/mle-interview/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://longxingtan.gitbook.io/mle-interview/01_leetcode/01_two_pointers.md).

# 双指针

* 同向双指针
  * 移除元素类
  * 滑动窗口
    * 数组类，用于正数，如果有负数采用hash/前缀和或DP.
      * 模式一：记录问题. 一般两个while, 或: 右指针for 左指针while收缩
      * 模式二：优化问题
    * 字符串类，用hash和计数器记录窗口内状态
  * 快慢指针类
* 相向双指针
  * 模式与二分查找类似，每次明确可以只移动一个

## Reference

* [Leetcode 同向双指针/滑动窗口类代码模板](https://zhuanlan.zhihu.com/p/390570255)
* [双指针总结 - 邪恶总督的文章 - 知乎](https://zhuanlan.zhihu.com/p/553864541)
