2019-01-21

作者: ruicore | 来源:发表于2019-01-21 19:18 被阅读0次
    LeetCode 203. Remove Linked List Elements.jpg

    LeetCode 203. Remove Linked List Elements

    Description

    Remove all elements from a linked list of integers that have value val.

    Example:

    Input: 1->2->6->3->4->5->6, val = 6
    Output: 1->2->3->4->5

    描述

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

    示例:

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

    实现

    • 本题目考察基本的链表操作.
    # -*- coding: utf-8 -*-
    # @Author:             何睿
    # @Create Date:        2019-01-20 21:12:46
    # @Last Modified by:   何睿
    # @Last Modified time: 2019-01-20 21:23:10
    
    
    # Definition for singly-linked list.
    class ListNode:
        def __init__(self, x):
            self.val = x
            self.next = None
    
    
    class Solution:
        def removeElements(self, head, val):
            """
            :type head: ListNode
            :type val: int
            :rtype: ListNode
            """
            # 添加一个辅助节点
            node = ListNode(0)
            node.next = head
            res = node
            while node and node.next:
                if node.next.val == val:
                    temp = node.next
                    node.next = temp.next
                    del temp
                else:
                    node = node.next
            return res.next
    

    源代码文件在这里.
    ©本文首发于何睿的博客,欢迎转载,转载需保留文章来源,作者信息和本声明.

    相关文章

      网友评论

        本文标题:2019-01-21

        本文链接:https://www.haomeiwen.com/subject/xorhjqtx.html