LintCode 217 [Remove Duplicates from Unsorted List]

原题

设计一种方法,从无序链表中删除重复项。

样例
给出 1->3->2->1->4. �返回 1->3->2->4

解题思路

  • 遍历链表,用一hash表记录出现过的节点的值,如果出现过则删除,未出现过则加入hash表

完整代码

"""
Definition of ListNode
class ListNode(object):

    def __init__(self, val, next=None):
        self.val = val
        self.next = next
"""

class Solution:
    # @param head, a ListNode
    # @return a ListNode
    def removeDuplicates(self, head):
        # Write your code here
        if not head:
            return head
        
        res = head
        map = {}
        map[head.val] = True
        
        while head.next != None:
            if head.next.val not in map:
                map[head.next.val] = True
                head = head.next
            else:
                head.next = head.next.next

        return res
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,804评论 24 1,002
  • 1. 链表 链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,...
    Mr希灵阅读 1,472评论 0 20
  • 前言 这次我和大家一起学习HashMap,HashMap我们在工作中经常会使用,而且面试中也很频繁会问到,因为它里...
    liangzzz阅读 8,025评论 7 102
  • 姓名: 张娟 公司: 路易彬彦 【日精进打卡第78天】 【知~学习】 《六项精进》2遍共108遍 《大学》0遍 共...
    路易彬彥张娟阅读 216评论 0 0
  • 《知·食——意大利》目录上一篇:点餐,你足够优雅得体吗? 【知·食】的目的,是将准确的、真实的、纯粹的饮食内容推给...
    裸食阅读 973评论 5 9