今日题目

简介

双指针,指的是在遍历对象的过程中,不使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的。

换言之,双指针法充分使用了数组(或链表)有序这一特征,从而在某些情况下能够简化一些运算。

对于单链来说,大部份技巧都属于快慢指针。

此外,链表算法题还有个很常见的「虚拟头结点」技巧。就是在实际的链表头前放一个 dummy 节点,作为占位符,可以避免处理空指针的情况,降低代码的复杂性。

小抄

双指针技巧秒杀七道链表题目