1. 首页
  2. 编程语言
  3. C
  4. 删除链表中的重复结点(CPP实现)

删除链表中的重复结点(CPP实现)

上传者: 2023-10-21 22:37:14上传 CPP文件 1.55KB 热度 69次

在C++中实现删除链表中重复结点的功能,主要思路是遍历链表并比较相邻结点的值是否相等,若相等则删除多余的结点。同时,通过使用指针和循环等基本的数据结构和算法,可以高效地实现该功能。该方法适用于单链表、双链表以及循环链表等不同类型的链表结构。更详细的实现过程可以参考以下代码示例:

struct ListNode {
    int val;
    ListNode *next;
    ListNode(int x) : val(x), next(NULL) {}
};

ListNode* deleteDuplicates(ListNode* head) {
    if (head == NULL) {
        return head;
    }

    ListNode* cur = head;
    while (cur->next != NULL) {
        if (cur->val == cur->next->val) {
            ListNode* temp = cur->next;
            cur->next = cur->next->next;
            delete temp;
        } else {
            cur = cur->next;
        }
    }

    return head;
}
用户评论