class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class Solution:
def removeElements(self, head,val) :
if head==None:#判断当前头节点是否为空,如果为空则返回None
return head
else:#若头结点不为空,则创建一个新的链表,并且将q作为p的引用
p=ListNode()
q=p
while head:#对head链表进行遍历,若head当前的节点值等于val,则将head进行到下一个节点,否则将当前节点更新为q的下一个节点,并将下一个节点更新到q的下一个节点
if head.val==val:
head=head.next
else:
q.next=head
q=head
head=head.next
q.next=None#将q.next设为空值表示为修改后的链表结尾
return p.next#返回q之后修改的链表