代码随想录算法训练营第三天|203.移除链表元素

今天的代码,不知道为啥haead.next完全没法打印出来,新创建的ListNode才可以操作。参考了答案写出来了。创建虚拟头节点还是比较简单的。不然head如果是那个值,就还需要删除头结点,加个判断。

 

 

# 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]:
        virtual_head = ListNode(next = head)

        current = virtual_head
        while current.next:
            if current.next.val == val:
                #delete
                current.next = current.next.next
            else:
                current = current.next
        return virtual_head.next

  

posted @ 2024-02-27 00:39  HOJEST  阅读(11)  评论(0)    收藏  举报