当前位置:网站首页>学IT,找工作——移除链表元素

学IT,找工作——移除链表元素

2022-08-02 03:25:00 PenguinLeee

203. 移除链表元素

给定一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回:新的头节点 。

解:

需要考虑链表头节点可能出现的情况:

  1. 链表头节点可能需要删除也可能不需要删除
  2. 可能是空链表

综上,设计一个虚拟的节点 vhead 放在给定 head 之前。代码如下:

# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution(object):
    def removeElements(self, head, val):
        """ :type head: ListNode :type val: int :rtype: ListNode """
        if head == None:
            return None
        vhead = ListNode(next=head)
        traverse = vhead
        while 1:
            if traverse.next == None:
                break
            if traverse.next.val == val:
                traverse.next = traverse.next.next
            else:
                traverse = traverse.next
        return vhead.next
原网站

版权声明
本文为[PenguinLeee]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43466027/article/details/121621306