File tree Expand file tree Collapse file tree 4 files changed +64
-1
lines changed
src/main/java/com/diguage/algo/leetcode Expand file tree Collapse file tree 4 files changed +64
-1
lines changed Original file line number Diff line number Diff line change @@ -88,15 +88,35 @@ image::images/0142-15.png[{image_attr}]
88
88
89
89
90
90
[[src-0142]]
91
+ [tabs]
92
+ ====
93
+ 一刷::
94
+ +
95
+ --
91
96
[{java_src_attr}]
92
97
----
93
98
include::{sourcedir}/_0142_LinkedListCycleII.java[tag=answer]
94
99
----
100
+ --
95
101
102
+ 二刷::
103
+ +
104
+ --
96
105
[{java_src_attr}]
97
106
----
98
107
include::{sourcedir}/_0142_LinkedListCycleII_2.java[tag=answer]
99
108
----
109
+ --
110
+
111
+ 三刷::
112
+ +
113
+ --
114
+ [{java_src_attr}]
115
+ ----
116
+ include::{sourcedir}/_0142_LinkedListCycleII_3.java[tag=answer]
117
+ ----
118
+ --
119
+ ====
100
120
101
121
102
122
== 思考题
Original file line number Diff line number Diff line change 550
550
|{doc_base_url} /0387-first-unique-character-in-a-string.adoc[题解]
551
551
|哈希+字符串
552
552
553
+ |{counter:codes}
554
+ |{leetcode_base_url} /linked-list-cycle-ii/[142. Linked List Cycle II^]
555
+ |{doc_base_url} /0142-linked-list-cycle-ii.adoc[题解]
556
+ |快慢指针
557
+
553
558
|===
554
559
555
560
截止目前,本轮练习一共完成 {codes} 道题。
Original file line number Diff line number Diff line change @@ -14,7 +14,8 @@ public class _0142_LinkedListCycleII_2 {
14
14
// tag::answer[]
15
15
16
16
/**
17
- *
17
+ * @author D瓜哥 · https://www.diguage.com
18
+ * @since 2024-07-02 21:08:43
18
19
*/
19
20
public ListNode detectCycle (ListNode head ) {
20
21
if (head == null || head .next == null ) {
Original file line number Diff line number Diff line change
1
+ package com .diguage .algo .leetcode ;
2
+
3
+ import com .diguage .algo .util .ListNode ;
4
+
5
+ public class _0142_LinkedListCycleII_3 {
6
+ // tag::answer[]
7
+
8
+ /**
9
+ * @author D瓜哥 · https://www.diguage.com
10
+ * @since 2024-09-14 17:02:00
11
+ */
12
+ public ListNode detectCycle (ListNode head ) {
13
+ ListNode slow = head ;
14
+ ListNode fast = head ;
15
+ while (fast != null && fast .next != null ) {
16
+ slow = slow .next ;
17
+ fast = fast .next ;
18
+ fast = fast .next ;
19
+ if (slow == fast ) {
20
+ break ;
21
+ }
22
+ }
23
+ if (fast == null || fast .next == null ) {
24
+ return null ;
25
+ }
26
+ slow = head ;
27
+ while (slow != fast ) {
28
+ slow = slow .next ;
29
+ fast = fast .next ;
30
+ if (slow == fast ) {
31
+ break ;
32
+ }
33
+ }
34
+ return slow ;
35
+ }
36
+ // end::answer[]
37
+ }
You can’t perform that action at this time.
0 commit comments