美文网首页
2023-02-01 第三天

2023-02-01 第三天

作者: 远方的飞鱼 | 来源:发表于2023-01-31 20:54 被阅读0次

链表的操作要考虑遍历的方法

移除指针的方法

1.直接使用原来的链表来进行删除操作。
2.设置一个虚拟头结点在进行删除操作。

虚拟头节点的做法

Definition for singly-linked list.

class ListNode:

def init(self, val=0, next=None):

self.val = val

self.next = next

class Solution:
def removeElements(self, head: ListNode, val: int) -> ListNode:
dummy_head = ListNode(next=head) #添加一个虚拟节点
cur = dummy_head
while(cur.next!=None):
if(cur.next.val == val):
cur.next = cur.next.next #删除cur.next节点
else:
cur = cur.next
return dummy_head.next

current 是用来一步步遍历链表节点
cur.next = cur.next.next #删除cur.next节点 (就对应删除了 dumpy_head nex 中 target 元素的节点)

cur = cur.next 是推进节点向前走 一直走到最后 (这里肯定就不能作为返回值)

dumpy_head next 是指向头节点的

相关文章

网友评论

      本文标题:2023-02-01 第三天

      本文链接:https://www.haomeiwen.com/subject/xaebhdtx.html