史上最强没有之一 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; }