Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 57e73b4

Browse files
author
杨世超
committed
Update 0206. 反转链表.md
1 parent 6a5455b commit 57e73b4

File tree

1 file changed

+31
-26
lines changed

1 file changed

+31
-26
lines changed

Solutions/0206. 反转链表.md

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,25 @@
99

1010
**要求**:将该单链表进行反转。可以迭代或递归地反转链表。
1111

12-
比如
12+
**说明**
1313

14-
```
15-
翻转前:
16-
1->2->3->4->5->NULL
17-
反转后:
18-
5->4->3->2->1->NULL
14+
- 链表中节点的数目范围是 $[0, 5000]$。
15+
- $-5000 \le Node.val \le 5000$。
16+
17+
**示例**
18+
19+
```Python
20+
输入 head = [1,2,3,4,5]
21+
输出 [5,4,3,2,1]
22+
23+
解释
24+
翻转前 1->2->3->4->5->NULL
25+
反转后 5->4->3->2->1->NULL
1926
```
2027

2128
## 解题思路
2229

23-
### 思路 1. 迭代
30+
### 思路 1迭代
2431

2532
1. 使用两个指针 `cur``pre` 进行迭代。`pre` 指向 `cur` 前一个节点位置。初始时,`pre` 指向 `None``cur` 指向 `head`
2633

@@ -36,7 +43,22 @@
3643

3744
![](https://qcdn.itcharge.cn/images/20220111133639.png)
3845

39-
### 思路 2. 递归
46+
### 思路 1:迭代代码
47+
48+
```Python
49+
class Solution:
50+
def reverseList(self, head: ListNode) -> ListNode:
51+
pre = None
52+
cur = head
53+
while cur != None:
54+
next = cur.next
55+
cur.next = pre
56+
pre = cur
57+
cur = next
58+
return pre
59+
```
60+
61+
### 思路 2:递归
4062

4163
具体做法如下:
4264

@@ -52,24 +74,7 @@
5274

5375
![](https://qcdn.itcharge.cn/images/20220111134246.png)
5476

55-
## 代码
56-
57-
1. 迭代
58-
59-
```Python
60-
class Solution:
61-
def reverseList(self, head: ListNode) -> ListNode:
62-
pre = None
63-
cur = head
64-
while cur != None:
65-
next = cur.next
66-
cur.next = pre
67-
pre = cur
68-
cur = next
69-
return pre
70-
```
71-
72-
2. 递归
77+
### 思路 2:递归代码
7378

7479
```Python
7580
class Solution:

0 commit comments

Comments
 (0)