[LeetCode-83] Remove Duplicates from Sorted List
1069 ワード
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example, Given
【解析】整列チェーンテーブルの重複要素から削除
[LeetCode-26]Remove Duplicates from Sorted Array(配列重複要素の除去)
[LeetCode-80] Remove Duplicates from Sorted Array II
コードは次のとおりです.
For example, Given
1->1->2
, return 1->2
. Given 1->1->2->3->3
, return 1->2->3
. 【解析】整列チェーンテーブルの重複要素から削除
[LeetCode-26]Remove Duplicates from Sorted Array(配列重複要素の除去)
[LeetCode-80] Remove Duplicates from Sorted Array II
コードは次のとおりです.
/**
* Definition for singly-linked list.
**/
struct ListNode {
int val;
struct ListNode *next;
};
struct ListNode* deleteDuplicates(struct ListNode* head)
{
if(!head) {
return NULL;
}
struct ListNode* headTemp = head;
struct ListNode* freeListNodeTemp = NULL;
int valueTempcur = 0;
int valueTempnext = 0;
while(headTemp) {
while(headTemp->next&&headTemp->val==headTemp->next->val) {
freeListNodeTemp = headTemp->next;
headTemp->next = freeListNodeTemp->next;
free(freeListNodeTemp);
}
headTemp = headTemp->next;
}
return head;
}