天天看點

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;
}