Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 1ae42b2

Browse files
update q206
1 parent 41578db commit 1ae42b2

File tree

2 files changed

+16
-26
lines changed

2 files changed

+16
-26
lines changed
Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,19 @@
11
package 链表操作.q206_反转链表.f1;
22

3-
import java.util.ArrayList;
4-
import java.util.List;
5-
63
/**
7-
* 暴力法舍弃空间 o(n)
4+
* 遍历直接反向修改next指针 o(n)
85
*/
96
class Solution {
7+
108
public ListNode reverseList(ListNode head) {
11-
if (head == null || head.next == null) {
12-
return head;
13-
}
14-
List<Integer> list = new ArrayList<>();
9+
ListNode pre = null;
1510
ListNode temp = head;
1611
while (temp != null) {
17-
list.add(temp.val);
18-
temp = temp.next;
19-
}
20-
ListNode rs = new ListNode(list.get(list.size() - 1));
21-
ListNode t1 = rs;
22-
for (int i = list.size() - 2; i >= 0; i--) {
23-
t1.next = new ListNode(list.get(i));
24-
t1 = t1.next;
12+
ListNode t = temp.next;
13+
temp.next = pre;
14+
pre = temp;
15+
temp = t;
2516
}
26-
return rs;
17+
return pre;
2718
}
2819
}
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
package 链表操作.q206_反转链表.f2;
22

33
/**
4-
* 遍历直接反向修改next指针 o(n)
4+
* 递归法 o(n)
55
*/
66
class Solution {
7+
78
public ListNode reverseList(ListNode head) {
8-
ListNode pre = null;
9-
ListNode temp = head;
10-
while (temp != null) {
11-
ListNode t = temp.next;
12-
temp.next = pre;
13-
pre = temp;
14-
temp = t;
9+
if (head == null || head.next == null) {
10+
return head;
1511
}
16-
return pre;
12+
ListNode p = reverseList(head.next);
13+
head.next.next = head;
14+
head.next = null;
15+
return p;
1716
}
1817
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /