天天看点

Leetcode 83 删除排序链表中的重复元素 C语言

Leetcode 83 删除排序链表中的重复元素 C语言

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

示例 1:

输入: 1->1->2

输出: 1->2

示例 2:

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

输出: 1->2->3

思路:遍历链表 找到相等就指向下一个 否则继续找

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