Skip to content

Commit e4df61f

Browse files
committed
Update 0203. 移除链表元素.md
1 parent 195e6f5 commit e4df61f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

Solutions/0203. 移除链表元素.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,17 @@
55

66
## 题目大意
77

8-
给定一个链表
8+
给定一个链表的头节点 `head` 和一个值 `val`
99

1010
要求:删除链表中值为 `val` 的节点,并返回新的链表头节点。
1111

1212
## 解题思路
1313

14-
用两个指针 `prev``curr``prev` 指向前一节点和当前节点,`curr` 指向当前节点。从前向后遍历链表,遇到值为 `val` 的节点时,将 `prev` 指向当前节点的下一个节点,继续递归遍历。遇不到则更新 `prev` 指针,并继续遍历。
14+
- 使用两个指针 `prev``curr``prev` 指向前一节点和当前节点,`curr` 指向当前节点。
15+
- 从前向后遍历链表,遇到值为 `val` 的节点时,将 `prev``next` 指针指向当前节点的下一个节点,继续递归遍历。没有遇到则将 `prev` 指针向后移动一步。
16+
- 向右移动 `curr`,继续遍历。
1517

16-
需要注意的是要删除的节点可能包含了头节点。我们可以考虑在遍历之前,新建一个头节点,让其指向原来的头节点。这样,最终如果删除的是头节点,则删除原头节点即可。返回结果的时候,可以直接返回新建头节点的下一位节点
18+
需要注意的是:因为要删除的节点可能包含了头节点,我们可以考虑在遍历之前,新建一个头节点,让其指向原来的头节点。这样,最终如果删除的是头节点,则直接删除原头节点,然后最后返回新建头节点的下一个节点即可
1719

1820
## 代码
1921

0 commit comments

Comments
 (0)