双指针
三、双指针
双指针算法:指的是在遍历对象的过程中,使用两个相同方向(快慢指针)或者相反方向(对撞指针 )的指针进行扫描,从而达到相应的目的。双指针比较灵活,可以大大降低时间复杂度,可用在数组,单链表等数据结构中。
快慢指针
一快一慢,步长一大一小。例如,是否有环问题(看慢指针是否能追上快指针),单链表找中间节点问题(快指针到单链表结尾,慢指针到一半)。
环形链表 141
环形链表 142
287
对撞指针
一左一右向中间逼近。
双指针算法:指的是在遍历对象的过程中,使用两个相同方向(快慢指针)或者相反方向(对撞指针 )的指针进行扫描,从而达到相应的目的。双指针比较灵活,可以大大降低时间复杂度,可用在数组,单链表等数据结构中。
一快一慢,步长一大一小。例如,是否有环问题(看慢指针是否能追上快指针),单链表找中间节点问题(快指针到单链表结尾,慢指针到一半)。
环形链表 141
环形链表 142
287
一左一右向中间逼近。