首页 > 其他分享 >删除链表中重复的节点

删除链表中重复的节点

时间:2022-12-14 14:36:26浏览次数:40  
标签:dummy ListNode 删除 val next 链表 节点

在一个排序的链表中,存在重复的节点,请删除该链表中重复的节点,重复的节点不保留。

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* deleteDuplication(ListNode* head) {
        if (!head) return NULL;
        auto dummy = new ListNode(-1);
        dummy->next = head;
        auto p = dummy;
        
        while (p->next) {
            auto q = p->next->next;
            while (q && q->val == p->next->val) q = q->next;
            
            if (q == p->next->next) p = p->next;
            else p->next = q;
        }
        
        return dummy->next;
    }
};

  

标签:dummy,ListNode,删除,val,next,链表,节点
From: https://www.cnblogs.com/leetothemoon/p/16982017.html

相关文章

  • 在O(1)时间删除链表结点
    给定单向链表的一个节点指针,定义一个函数在O(1)时间删除该结点。假设链表一定存在,并且该节点一定不是尾节点。/***Definitionforsingly-linkedlist.*structLi......
  • 使用Kk单节点安装KubeSphere和K8S
    1.安装之前要安装这些包。yum-yinstallsocatconntrackebtablesipset2.安装KubeSphere和K8S之前需要安装docker容器运行时wgethttps://mirrors.aliyun.com/docker......
  • 记一次节点被mysql锁定的异常处理
    参考:https://blog.csdn.net/weixin_34293141/article/details/93057113同事反馈公司的一个java客户端工具运行异常,后台log如下:2022-12-0810:52:28WARNBasicResourc......
  • mac系统彻底删除vscode
    1.退出vscode应用。2.输入如下指令,删除vscode的设置和配置: sudorm-rf$HOME/Library/Application\Support/Code3.输入如下指令,删除vscode的插件: sudorm......
  • 力扣-114-二叉树展开为链表
    按照先序遍历展开展开后仍然为TreeNode,只是左孩子指针一律置空关键在于这个先序的访问过程与各个节点指针的修改操作如何统一不冲突首先就可以排除先序遍历,瞄一眼评论......
  • 链表--删除链表的中间节点
    题目:给定链表的头节点,实现删除链表的中间节点的函数例如:不删除任何节点1->2删除节点21->2->3删除节点21->2->3->4删除节点21->2->3->4->5删除节点31->2->3->4->5......
  • 链表与list
    1.链表实现特点:每一个节点都是在堆内存上独立new出来的,节点内存不连续。即逻辑地址连续,而物理地址不连续。优点:内存利用率高,不需要大块连续内存插入和删除节点......
  • Mac 下删除自带的 ABC输入法
    关闭SIP(SystemIntegrityProtection系统完整性保护)#重启时按下command+R进入恢复模式#上方系统工具进入终端运行csrutildisable下载安装PlisteditPr......
  • Windows下文件或文件夹不能删除时的解决办法
     windows在删除文件或文件夹时,提示文件或文件夹被占用而无法删除解决办法:win7:winxp:需要借助第三方工具Unlocker、360、ProcessExplorer(这个是微软支持的)通过工具找到......
  • linux删除文件后空间没有释放问题解决办法
    收到服务器报警,磁盘空间满了,删除一些日志和垃圾文件后发现磁盘空间变化不大,df查看磁盘占用已经没有那么多。想了下,应该是删除的文件还应该是没有被彻底释放导致。系统是......