移除链表元素
思路:
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: Optional[ListNode], val: int) -> Optional[ListNode]:
# 使用虚拟节点
dummy=ListNode(next = head)
temp_node=dummy
while bool(temp_node.next):
if temp_node.next.val == val:
temp_node.next = temp_node.next.next
else:
temp_node=temp_node.next
return dummy.next