刪除排序鍊錶中重複元素

2021-10-07 13:49:23 字數 987 閱讀 1604

示例 1:

輸入: 1->2->3->3->4->4->5

輸出: 1->2->5

示例 2:

輸入: 1->1->1->2->3

輸出: 2->3

照例使用三個指標來

struct listnode*

deleteduplicates

(struct listnode* head)

else

//沒有重複的就正常移動

示例 1:

輸入: 1->1->2

輸出: 1->2

示例 2:

輸入: 1->1->2->3->3

輸出: 1->2->3

struct listnode*

deleteduplicates

(struct listnode* head)

else

//沒有重複的就正常移動

} p = head->next;

free

(head)

;return p;

}

當然不用保留第乙個前面的結點了,可以用兩個指標做到。

struct listnode*

deleteduplicates

(struct listnode* head)

before->next = p;

before = p;

}return head;

}

刪除排序鍊錶中的重複元素

給定乙個排序鍊錶,刪除所有重複的元素每個元素只留下乙個。樣例 給出 1 1 2 null,返回 1 2 null 給出 1 1 2 3 3 null,返回 1 2 3 null 加乙個頭結點 鍊錶有序,找到不相等的時候,刪除中間結點 兩兩比較是否相同進行刪除 definition for listn...

刪除排序鍊錶中的重複元素

題目 刪除排序鍊錶中的重複元素。給定乙個排序鍊錶,刪除所有重複的元素每個元素只留下乙個。樣例 給出1 1 2 null,返回1 2 null 給出1 1 2 3 3 null,返回1 2 3 null 思路 該題所給的鍊錶是有序的鍊錶,這大大降低了該題的難度,所以只要再定義乙個指標p,固定head,...

刪除排序鍊錶中的重複元素

問題描述 給定乙個排序鍊錶,刪除所有重複的元素每個元素只留下乙個。樣例 給出 1 1 2 null,返回 1 2 null 給出 1 1 2 3 3 null,返回 1 2 3 null 實現思路 為了實現操作,我設定了兩個指標變數p和q,讓p指向開始結點,讓q指向第二個結點,即這兩個指標一前一後分...