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 :: Remove Duplicates from Sorted List[详细分析]

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

LeetCode82:Remove Duplicates from Sorted List II

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct num...

Remove Duplicates from Sorted List II--LeetCode

题目: Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinc...

LeetCode | Remove Duplicates from Sorted List II

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numb...

【LeetCode】Remove Duplicates from Sorted List

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

[LeetCode] Remove Duplicates from Sorted List II

给定一个已经排序的单链表,删除所有有相同数字的节点,只留下原始链表中的不同数字。

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

一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目...

LeetCode - 82. Remove Duplicates from Sorted List II

这一道题目主要是链表的操作,一开始因为情况比较复杂,把自己绕晕了,所以没想到这道题目的解法,后来看了答案才觉得自己解起来确实很难解出。这道题目对于链表的操作比较复杂,所要考虑的情况也很多,最大的一个技...

和大神们学习每天一题(leetcode)-Remove Duplicates from Sorted List

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

leetcode_82_Remove Duplicates from Sorted List II

思路: 大致思路就是,遍历链表找出重复元素的子列并删除重复元素子列,当然,第一个元素开始有重复元素的话比较特种,需要特殊考虑。删除子列的过程稍微有点绕,题目倒是不难理解。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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