双指针
8/9/25About 2 min
对撞指针
指针从数组两端向中间靠拢
常用于: 排序数组中的查找、对称结构判断等
快慢指针
一个指针走得快,一个慢,常用于链表
常用于: 找环、找中点、找重复元素等
26. 删除有序数组中的重复项 - 力扣(LeetCode)
80. 删除有序数组中的重复项 II - 力扣(LeetCode)
滑动窗口
左右指针维护一个动态窗口
常用于: 子串/子数组最值、满足某个条件的子区间
3. 无重复字符的最长子串 - 力扣(LeetCode)//有数组优化解法
归并类双指针(双数组遍历)
同时遍历两个已排序数组(或链表)
常用于: 合并、求交集、比较等
窗口内逻辑判断类
一些三重循环可被双指针优化
常用于: 三数之和、三元组计数等
区间合并 / 去重类
双指针维护区间边界
常用于: 删除重复项、合并区间等