-
声明: 转载文字或图片请在文首注明出处,
3Q
. -
原理: 我们设置两个指针
slow
和fast
,slow
每次移动一步,fast
每次移动两步。 -
伪码:
slow , fast = head, head
while(fast.next and fast.next.next):
slow = slow.next
fast = fast.next.next
-
解释: 设链表长度为
L
, 每个结点编号为1,2, ..., L
。 若L
等于偶数, 则fast
停下时,slow
停在编号为L//2
的结点上;若L
等于奇数, 则fast
停下时,slow
停在编号为L//2 + 1
的结点上。 -
示例,
L
=1
:
-
示例,
L
=2
:
-
示例,
L
=3
:

-
示例,
L
=4
:
-
示例,
L
=5
:
-
示例,
L
=6
:

作 者: 月牙眼的楼下小黑
联 系: zhanglf_tmac (Wechat)
声 明: 欢迎转载本文中的图片或文字,请说明出处

网友评论