JAVA刷Leecode-玩转双指针-快慢指针(142)
算法思想
双指针一般用来遍历数组,两指针指向不同的元素,从而沟通协调完成任务;也可以延伸到多数组多指针。
大致分为两种情况:
两指针指向同一数组,遍历方向相同且不相交,又称为**滑动窗口**,经常用于区间搜索;
两指针指向同一数组,但遍历方向相反,可以用来进行搜索,待搜索的数组往往是排序好的
内容分类
Two Sum(167),
归并两个有序数组(88),
快慢指针(142)
滑动窗口(76)
练习:633,680,524,340。
环形链表 II(142,medium)
题目描述
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。
为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。
说明:不允许修改给定的链表。
进阶:
你是否可以使用 O(1) 空间解决此题?