1、同向双指针:
例子:19. 删除链表的倒数第N个节点
解法:
1、定义两个指针分别指向链表头;
2、一个指针先移动N位;
3、两个同向一起移动,先移动的到达链表尾时,后移动的指向倒数第N个。
2、相向双指针:
例子:力扣题解:1. 两数之和,查找数组中两数之和等于目标的值。
解法:
1、将数组排序后,定义两个指针分别指向数值头与尾;
2、若此时和小于目标,则「左指针」向右移动一个位置;
3、若此时和大于目标,则「右指针」会向左移动一个位置。
4、和等于目标时跳出循环。
总结:
1、记住常见算法的常用解题思路:同向双指针;相向双指针。