力扣每日一题9——删除排序链表中的重复元素


前言

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。

返回同样按升序排列的结果链表。


一、示例

二、代码

代码如下(示例):

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */


struct ListNode* deleteDuplicates(struct ListNode* head){
          
   
    struct ListNode* p = (struct ListNode*)malloc(sizeof(struct ListNode));
    p = head;
    if( p == NULL) {
          
   
        return head;
    }

    while(p->next != NULL) {
          
   
        if(p->val == p->next->val) {
          
   
            p->next = p->next->next;
        } else {
          
   
            p = p->next;
        }
    }
    return head;
}

经验分享 程序员 微信小程序 职场和发展