删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次.
/**链表节点定义
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(head==NULL)//链表为空就返回空
{
return NULL;
}
ListNode*cur=head;//cur指向头节点
while(cur!=NULL&&cur->next!=NULL)//第一个节点和节点都不为空
{
if(cur->val==cur->next->val)//节点值相等
{
cur->next=cur->next->next;//删除节点
}
else
{
cur=cur->next;
}
}
return head;
}
};