题目链接
Remove Duplicates from Sorted List - LeetCode
注意点
- 可能重复的数字不止两个,例如:
[1,1,1]
解法
解法一:一道简单题,注意不要访问空结点就好。如果相邻两个数字相等就把前一个的指针指向后一个的下一个即可。时间复杂度O(n)。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
ListNode* p = head;
while(p != NULL)
{
if(p->next != NULL && p->val == p->next->val) p->next = p->next->next;
else p = p->next;
}
return head;
}
};
小结
- 链表题