面试题 02.01. 移除重复节点 - 力扣(LeetCode)
链表指针p和curr
与head指向同一块空间;
p和head来比较相同的值,遇到一样的值、就改变这个空间里面struct的成员变量next指针指向的地址,跳向next的next再比较;
注意:不是开辟了三块空间,指针只是存了地址,指向同一块空间
class Solution {
public:
ListNode* removeDuplicateNodes(ListNode* head) {
ListNode* curr = head;
if(curr == NULL)
{
return NULL;
}
while(curr)
{
ListNode* p = curr;
while(p->next)
{
if(p->next->val == curr->val)
{
p->next = p->next->next;
}
else
{
p = p->next;
}
}
curr = curr->next;
}
return head;
}
};