小视频平台源码,删除链表中重复的结点应该这样做

小视频平台源码,删除链表中重复的结点应该这样做

复制代码
//思路:
//1->2->2->3
//删除重复元素后 1->3
//1->2->2
//删除重复元素后 1
public ListNode deleteDuplication(ListNode pHead) {
    if(pHead==null || pHead.next==null){
        return pHead;
    }
    //设置虚拟头结点
    ListNode dummyHead = new ListNode(-1);
    dummyHead.next = pHead;

    ListNode pre = dummyHead;
    ListNode cur = pHead;

    //pHead 链表至少有 1 个节点,cur 不为 null
    while(cur.next!=null){
        if(cur.val!=cur.next.val){ //相邻元素的值不相同,但是还不能说明 cur 不是重复元素,需要进一步判断
            if(pre.next==cur){ // cur 不是重复元素
                pre = cur;
            }else{ //是重复元素删除
                pre.next = cur.next;
            }
        }
        cur = cur.next;
    }

    if(pre.next!=cur){ //针对:1->2->2 这种情况
        pre.next =null;
    }

    return dummyHead.next;
}
复制代码

以上就是小视频平台源码,删除链表中重复的结点应该这样做, 更多内容欢迎关注之后的文章

posted @   云豹科技-苏凌霄  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2023-11-23 直播平台开发,加载网页、html文件显示加载进度
2023-11-23 直播平台源码,vue图片中划框截取部分图片
2023-11-23 直播系统源代码,vue实现无缝滚动
2022-11-23 视频直播app源码,JS使用数组方法实现字符串反转
2022-11-23 直播app源码,输入密码和用户名调用开发者工具
2022-11-23 直播软件搭建,vue3应用elementPlus table并滚动显示
2021-11-23 直播app源码,Flutter 弹窗组件
点击右上角即可分享
微信分享提示