Leetcode 82

时间:2023-03-09 17:30:55
Leetcode 82

有个错误就是member access within null pointer of type 'struct ListNode'

其实就是判断了指针是否异常了,比如NULL->next之类。要记得用new给节点初始化,而指针不需要初始化

/**
* 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 == NULL) return head;
ListNode* bighead = new ListNode();
ListNode* pre;
ListNode* move; bighead->next = head;
pre = bighead;
move = head; while(move != NULL && move->next != NULL){
if(move->next->val == move->val){
while((move->next != NULL) && (move->next->val == move->val)){
move = move->next;
}
pre->next = move->next;
move = move->next;
}
else{
pre = pre->next;
move = move->next;
}
}
return bighead->next;
}
};