美文网首页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