【题目描述】
Given a sorted linked list, delete all duplicates such that each element appear onlyonce.
给定一个排序链表,删除所有重复的元素每个元素只留下一个。
【题目链接】
www.lintcode.com/en/problem/remove-duplicates-from-sorted-list/
【题目解析】
根据题目要求,我们需要删除链表中的一些元素。对于只包含next属性的链表,在删除操作时,我们需要用到该元素now的前一个元素prev。其删除过程为:
prev -> next = now -> next
这样就可以直接将该元素从链表中删除,这里需要注意的是头指针的删除。
那么哪些元素需要删除呢?根据题目描述我们可以得到两种情况:
1该元素与后一个元素重复
now -> val == now -> next -> val
2该元素表示的数字已经删除过一次
now -> val == needDelete
总的来说本题并不难,只需要注意一点点细节就可以通过。
【参考答案】
www.jiuzhang.com/solutions/remove-duplicates-from-sorted-list/