题目描述

在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5

思路

创建一个头指针,用于返回结果,然后在创建两个链表,一个是指向当前结点的值,一个是删除链表重复元素的值,指向确定不重复的结点。

注意特殊情况,比如链表中结点全重复,为空等

代码

public ListNode deleteDuplication(ListNode pHead){if (pHead==null || pHead.next==null){return pHead;}ListNode gard = new ListNode(-1);gard.next = pHead;ListNode pre = gard;ListNode curr = pHead;while(curr!=null && curr.next!=null){if(curr.val == curr.next.val){int value = curr.val;while(curr.next!=null && curr.next.val == value){curr = curr.next;}curr = curr.next;pre.next = curr;}else{pre = pre.next;curr = curr.next;}}return gard.next;}

每天一道剑指offer-删除链表中的 重复结点相关推荐

  1. python实现剑指offer删除链表中重复的节点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...

  2. 剑指offer.删除链表中重复的节点

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留. 样例1 输入:1->2->3->3->4->4->5输出:1->2-> ...

  3. 力扣—— 19. 删除链表的倒数第 N 个结点(java)、剑指 Offer 22. 链表中倒数第k个节点(java)

    19. 删除链表的倒数第 N 个结点(java) 一.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3 ...

  4. 《剑指offer》-- 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点

    一.两个链表的第一个公共结点: 1.题目: 输入两个链表,找出它们的第一个公共结点. 2.解题思路: (1)第一种:找出两个链表的长度,然后让长的链表先走两个链表的长度差,接着两个链表一起走. (2) ...

  5. 【每日一题】剑指 Offer 22. 链表中倒数第k个节点

    剑指 Offer 22. 链表中倒数第k个节点

  6. 【LeetCode】剑指 Offer 22. 链表中倒数第k个节点

    [LeetCode]剑指 Offer 22. 链表中倒数第k个节点 文章目录 [LeetCode]剑指 Offer 22. 链表中倒数第k个节点 一.遍历 二.双指针 总结 一.遍历 先遍历统计链表长 ...

  7. 剑指Offer #14 链表中倒数第k个结点(快慢指针) | 图文详解

    题目来源:牛客网-剑指Offer专题 题目地址:链表中倒数第k个结点 题目描述 输入一个链表,输出该链表中倒数第k个结点. 节点结构如下: public class ListNode {int val ...

  8. 剑指offer 附加1. 删除链表中的重复结点

    1.问题描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处 ...

  9. 剑指offer:链表中倒数第k个结点 python实现

    链表中倒数第k个结点 输入一个链表,输出该链表中倒数第k个结点. 解题思路 暴力求解: 判断链表是否为空: 复制链表,遍历一遍统计其长度: 如果长度小于k.则返回None: 否则,返回其长度-k的链表 ...

  10. 剑指offer——22.链表中倒数第k个节点

    题目: 输入一个链表,输出该链表中倒数第k个结点. 知识点: 注意这种想法:找倒数第几个.中间的数或三分之一的数这种题,可以利用两个指针,通过指针移动的不同方式来实现 注意: 还是考虑的情况要周全,此 ...

最新文章

  1. LeetCode Path Sum III(前缀和)
  2. 【MATLAB】图像导出 ( 导出绘制的图像 | 图像设置 )
  3. linux 数据转换
  4. hash()函数的实现
  5. 二、项目运行环境【PMP 】
  6. 百度自动推送html5,百度暂停 JS 代码自动推送功能,代码是否需要删除?
  7. 微塔式服务器esxi虚拟机黑群晖,ESXi6主机上安装部署黑群晖虚拟机
  8. 效果超某度OCR:文本检测、文本识别(cnn+ctc、crnn+ctc)
  9. Webpack常用插件总结
  10. 显著目标检测的研究思路
  11. 推荐好用的输入法 QQ输入法 及设置特定词组的输入方式
  12. linux制作 引导盘,制作Linux引导盘的四种方法
  13. 墨盒和墨仓打印机区别?
  14. 概率论与数理统计(第二章---随机变量及其分布函数
  15. 传统弓上弦的几种方式
  16. 图片缩略图,CMYK图片变红问题解决
  17. 视频类网站的简单研究
  18. 信息技术时代杂志信息技术时代杂志社信息技术时代编辑部2022年第9期目录
  19. 开源堡垒机jumpserver及麒麟堡垒机安装
  20. MATLAB中randi函数的用法

热门文章

  1. 扒一扒9.3阅兵直播如何采用虚拟现实技术
  2. 代码管理(二)sourcetree 安装与使用
  3. 开源docker管理平台rancher 安装部署
  4. Kafka学习之broker配置(0.8.1版)(转)
  5. 今天加入了OSChina,准备将我的BLOG搬到这里。
  6. 如何用hover实现下拉菜单
  7. 9.凤凰架构:构建可靠的大型分布式系统 --- 可靠通信
  8. 15.卷1(套接字联网API)---Unix域协议
  9. 7. Document write() 方法
  10. li:hover与a:hover的区别