美文网首页lintcode
112. 删除排序链表中的重复元素

112. 删除排序链表中的重复元素

作者: 和蔼的zhxing | 来源:发表于2018-01-04 19:17 被阅读19次

    给定一个排序链表,删除所有重复的元素每个元素只留下一个。
    样例
    给出 1->1->2->null,返回 1->2->null
    给出 1->1->2->3->3->null,返回 1->2->3->null

    比较删除

    排好序的比较好处理,相同的肯定是相邻出现的,只要比较当前值和下一个值就可以,如果不同,则遍历下一个,如果相同,则跳过下一个进行遍历(顺便把中间的删除掉,链表的删除就是一个链接的过程)。

      ListNode * deleteDuplicates(ListNode * head) {
            
            if(head==NULL)
            return NULL;
            ListNode *temp=head;
            while(temp->next!=NULL)
            {
              if(temp->val!=temp->next->val)
              {
                  temp=temp->next;
              }
              else
              temp->next=temp->next->next;
            }
            return head;
            // write your code here
        }
    

    相关文章

      网友评论

        本文标题:112. 删除排序链表中的重复元素

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