01 双指针,two pointers
双指针
,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向或者相反方向的指针进行扫描,从而达到相应的目的。移动两个指针包夹求解。
- 时间复杂度一般为O(n)。
- 分为:
同向双指针
和异向双指针
。
识别使用双指针的招数:
- 一般来说,数组或是链表是排好序的,你需要找一些组合满足某种限制条件。比如,你需要去比较数组中每个元素和其他元素的关系时,你就需要用到双指针了。
- 这种组合可能是一对数,三个数,或是一个子数组。
掌握:
- 使用下标i,j对序