llllmz

导航

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

 

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
int pre;
struct ListNode* f(struct ListNode* head){
    if(!head) return NULL;
    if(head->val==pre){
        struct ListNode* temp=head->next;
        free(head);
        return f(temp);
    }else{
        pre=head->val;
        head->next=f(head->next);
    }
    return head;
}

struct ListNode* deleteDuplicates(struct ListNode* head) {
    pre=INT_MAX;
    return f(head);
}

posted on 2024-03-15 21:01  神奇的萝卜丝  阅读(19)  评论(0)    收藏  举报