关闭

(LeetCode)Remove Linked List Elements --- 删除节点元素

738人阅读 评论(0) 收藏 举报
分类:

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

Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5

Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.

Subscribe to see which companies asked this question


解题分析:

对于此题目,理解还是很容易理解的,就是对于给出的 List,

删除所有给出的VAL元素,再返回LinkedList

编程思维就是,对于给定的LinkedList, 先保存最开始的结点,然后依次遍历,判断是否是给出的val,

是的话,就删除。

# -*- coding:utf-8 -*-
__author__ = 'jiuzhang'
# Definition for singly-linked list.
class ListNode(object):
     def __init__(self, x):
         self.val = x
         self.next = None

class Solution(object):
    def removeElements(self, head, val):
        """
        :type head: ListNode
        :type val: int
        :rtype: ListNode
        """
        tmp = ListNode(0)
        tmp.next = head
        pre, cur = tmp, head
        while cur:
            if cur.val == val:
                pre.next = cur.next
            else:
                pre = cur
            cur = cur.next
        return tmp.next








0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1161309次
    • 积分:24310
    • 等级:
    • 排名:第274名
    • 原创:1316篇
    • 转载:21篇
    • 译文:7篇
    • 评论:226条
    博客专栏
    最新评论