203.移除链表元素
删除链表中= val 的所有节点。
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
class Solution:
def removeElements(self, head: ListNode, val: int) -> ListNode:
dummy = ListNode(-1) # 初始化哨兵节点用于伪头
dummy.next = head
p = dummy # p记录当前节点
while p.next:
if p.next.val == val:
p.next = p.next.next
else:
p = p.next
return dummy.next # 返回从head开始的扫描结果
"""
哨兵节点广泛应用于树和链表中,如伪头、伪尾、标记等,它们是纯功能的,通常不保存任何数据,
其主要目的是使链表标准化,如使链表永不为空、永不无头、简化插入和删除。在这里哨兵节点将被用于伪头。
"""