LeetCode 之 Remove Duplicates from Sorted List

原创 2013年12月05日 19:54:21

原题:

Given a sorted linked list, delete all duplicates such that each element appear only once.

For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.

本题就是要删除所有的重复的数字,很简单,看有的人做的是看一个node是否和前一个相等,要是相等就删除,这得判断n次啊,直接用俩指针指着不就行了么。。。ok,我的解题思路:

1用一个指针current指向某个数字区间的第一个数字,然后判断current是否和head相等,如果不等就把head加入新的链表;如果相等,就把head指向next

     

2 小技巧,最开始把result指向一个new 的node,然后依次向后面加node,最后返回result->next就行

代码(88ms):

class Solution {
public:
    ListNode *deleteDuplicates(ListNode *head) {
        ListNode * result = new ListNode(-1);
        ListNode * tail = result;
        ListNode * current = NULL;
        while(head){
            if(current==NULL || head->val != current->val){
                ListNode *node  = new ListNode(head->val);
                current=head;
                tail->next = node;
                tail=tail->next;
            }
            head = head->next;
        }
        return result->next;
    }
};

【LeetCode-面试算法经典-Java实现】【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】

【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a...
  • DERRANTCM
  • DERRANTCM
  • 2015年07月24日 07:01
  • 2304

Leetcode全数组问题

目录 1、编号2 Median of Two Sorted Arrays There are two sorted arrays A and B of size m and n respe...
  • wangxiaojun911
  • wangxiaojun911
  • 2014年02月06日 03:32
  • 6327

【LeetCode-面试算法经典-Java实现】【083-Remove Duplicates from Sorted List(排序的单链表中删除重复的结点)】

【083-Remove Duplicates from Sorted List(排序的单链表中删除重复的结点)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given ...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月04日 06:57
  • 1577

【LeetCode-面试算法经典-Java实现】【082-Remove Duplicates from Sorted List II(排序链表中删除重复元素II)】

【082-Remove Duplicates from Sorted List II(排序链表中删除重复元素II)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Give...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月04日 06:54
  • 1531

LeetCode :: Remove Duplicates from Sorted List[详细分析]

Given a sorted linked list, delete all duplicates such that each element appear only once. For ex...
  • u013195320
  • u013195320
  • 2014年03月24日 23:31
  • 671

Remove Duplicates from Sorted List--LeetCode

题目: Given a sorted linked list, delete all duplicates such that each element appear only once. Fo...
  • yusiguyuan
  • yusiguyuan
  • 2015年03月31日 10:24
  • 439

LeetCode82:Remove Duplicates from Sorted List II

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct num...
  • u012501459
  • u012501459
  • 2015年06月08日 17:11
  • 779

Remove Duplicates from Sorted List II--LeetCode

题目: Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinc...
  • yusiguyuan
  • yusiguyuan
  • 2015年03月31日 16:33
  • 679

[LeetCode] Remove Duplicates from Sorted List II

给定一个已经排序的单链表,删除所有有相同数字的节点,只留下原始链表中的不同数字。...
  • ILOVEYOUXIAOWANGZI
  • ILOVEYOUXIAOWANGZI
  • 2013年11月15日 16:05
  • 944

【一天一道LeetCode】#82. Remove Duplicates from Sorted List II

一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目...
  • terence1212
  • terence1212
  • 2016年06月05日 15:00
  • 1841
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode 之 Remove Duplicates from Sorted List
举报原因:
原因补充:

(最多只允许输入30个字)