继续刷LeetCode,第83题,去掉链表中重复值的节点。
分析:
从前往后遍历,如果后面一个节点的值等于该结点的值,就将指针指向后面一个节点,否则往后继续遍历,直到为空的时候。
问题:
1、考虑特殊情况,为空的时候,如何判断;
附上代码:
/**
* 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* tmp=head;
if(head==NULL)
return NULL;
while(tmp->next)
{
if(tmp->val==tmp->next->val)
tmp->next=tmp->next->next;
else
tmp=tmp->next;
}
return head;
}
};