LeetCode---(83) Remove Duplicates from Sorted List

来源:互联网 发布:tomcat端口有哪些 编辑:程序博客网 时间:2024/04/30 15:57

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.

  1. 首先我要在纸上,给出几个用例
  2. 找出边界用例和特殊用例,确定特判条件;在编码前考虑到所有的条件
  3. 伪代码,同时结合用例
  4. 真实代码


/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode* deleteDuplicates(ListNode* head) {        if(head==NULL||head->next==NULL)            return head;        ListNode* pre=head;        ListNode* cur=head->next;        while(cur!=NULL)        {            ListNode* next=cur->next;            if(pre->val==cur->val)            {                pre->next=next;                delete cur;                cur=next;            }            else{                pre=cur;                cur=next;            }        }        return head;    }};


0 0