Remove Duplicates from Sorted List

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* deleteDuplicates(struct ListNode* head)
 {
    if(NULL == head)
      return NULL;
    struct ListNode* p = head;
    struct ListNode* q = head->next;
    int val1 = p->val;
    int val2;
    while(q != NULL)
    {
       val2 = q->val;
       if(val2 == val1)
       {
         q = q -> next;

         if(q == NULL)
         {
          p->next = q;
         }

      }

       else
       {
         val1 = val2;
         p ->next = q;
         p = q;
         q = q -> next;
       }
    }
    return head;
 }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容