【 声明:版权所有,转载请标明出处,请勿用于商业用途。 联系信箱:libin493073668@sina.com】
题目链接:https://leetcode.com/problems/remove-duplicates-from-sorted-list/
题意:
一个排好序的链表,要求去除掉里面所有重复的元素
思路:
因为链表本身是有序的,只需要判断目前这个结点的值是否与前面的值相等就可以了。
/**
* 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)
{
if(head==nullptr||head->next==nullptr)
return head;
ListNode *node = new ListNode(head->val);
ListNode *newlist = node;
ListNode *cur = head;
while(cur!=nullptr)
{
if(cur->val!=newlist->val)
{
newlist->next = new ListNode(cur->val);
newlist = newlist->next;
}
cur = cur->next;
}
return node;
}
};