删除链表的节点

删除链表的节点

1、题目

图1

2、解法

  • 首先加入一个头部节点,方便于如果可能的话删除掉第一个元素。
  • 准备两个指针遍历链表,一个指针指向当前要遍历的元素,另一个指针指向该元素的前序节点,便于获取它的指针。
  • 遍历链表,找到目标节点,则断开连接,指向后一个。
  • 返回时去掉加入的头节点。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution:
def deleteNode(self , head: ListNode, val: int) -> ListNode:
#加入一个头节点
res = ListNode(0)
res.next = head
#前序节点
pre = res
#当前节点
cur = head
#遍历链表
while cur is not None:
#找到目标节点
if cur.val == val:
#断开连接
pre.next = cur.next
break
pre = cur
cur = cur.next
#返回去掉头节点
return res.next


删除链表的节点
http://example.com/2023/10/16/del-node/
作者
Z Z
发布于
2023年10月16日
许可协议