LeetCode 做题 简单【 删除排序链表中的重复元素】 链表

【 删除排序链表中的重复元素】

给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。

示例 1:

输入:head = [1,1,2]
输出:[1,2]

示例 2:

输入:head = [1,1,2,3,3]
输出:[1,2,3]

话不多说代码如下:

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


struct ListNode* deleteDuplicates(struct ListNode* head){
         if (!head)
         return head;
         
          struct ListNode *p;
          p=head;
         
          while (p->next!=NULL){ //判断下一个结点是否为空
          if (p->next->val==p->val)    
          {
               p->next=p->next->next;  //p指向隔着的下一个
          }
          else{
              p=p->next;
          }
          }
          return head;
}

 

 

posted on 2022-09-21 18:26  筱筱lxy  阅读(26)  评论(0编辑  收藏  举报