史上最强没有之一
struct ListNode* deleteDuplicates(struct ListNode* head) {
struct ListNode *current = head;
// 遍历链表
while (current != NULL && current->next != NULL) {
if (current->val == current->next->val) {
// 发现重复,删除下一个节点
struct ListNode *temp = current->next;
current->next = current->next->next;
free(temp); // 释放内存
} else {
// 没有重复,移动到下一个节点
current = current->next;
}
}
return head;
}

京公网安备 11010502036488号