各种解法
双指针
左右指针(对撞指针)
【定义】 对撞指针是指在有序数组中,将指向最左侧的索引定义为左指针(left),最右侧的定义为右指针(right),然后从两头向中间进行数组遍历。
【要点】
适用于有序数组
遇到有序数组时,应该第一时间想到用对撞指针解题。
快慢指针
【定义】 两个指针从同一侧开始遍历数组,将这两个指针分别定义为快指针(fast)和慢指针(slow),两个指针以不同的策略移动,直到两个指针的值相等(或其他特殊条件)为止,如fast每次增长两个,slow每次增长一个。
【要点】主要解决链表中的问题,如判定链表是否包含环