Leetcode 203. 移除链表元素(Python3)

203. 移除链表元素

删除链表中等于给定值 val 的所有节点。

示例:

输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5

可以用递归也可以用循环

循环代码:

class Solution:
    def removeElements(self, head, val):
        """
        :type head: ListNode
        :type val: int
        :rtype: ListNode
        """
        node = ListNode(None)
        node.next = head
        p = node
        while p.next:
            if p.next.val == val:
                p.next = p.next.next
            else:
                p = p.next
        return node.next

递归代码:

class Solution:
    def removeElements(self, head, val):
        """
        :type head: ListNode
        :type val: int
        :rtype: ListNode
        """
        if not head:return head
        head.next = self.removeElements(head.next,val)
        return head.next if head.val == val else head

猜你喜欢

转载自blog.csdn.net/qq_38575545/article/details/85836039