leetcode83(删除排序链表中的重复元素)--C语言实现

求:spa

给定一个排序链表,删除全部重复的元素,使得每一个元素只出现一次。排序

示例 1:it

输入: 1->1->2
输出: 1->2
示例 2:io

输入: 1->1->2->3->3
输出: 1->2->3List

 

解:链表

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct  ListNode* deleteDuplicates( struct  ListNode* head){
     struct  ListNode* p=head;
     if (head==NULL) 
        return  head;
     while (p->next!=NULL){
         if (p->val==p->next->val){
             struct  ListNode* tmp = p->next;
            p->next=p->next->next;
            free(tmp);
        } else {
            p=p->next;
        }
     }    
     return  head;
}
相关文章
相关标签/搜索