每天一道剑指offer-删除链表中的 重复结点
题目描述
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表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-删除链表中的 重复结点相关推荐
- python实现剑指offer删除链表中重复的节点
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...
- 剑指offer.删除链表中重复的节点
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留. 样例1 输入:1->2->3->3->4->4->5输出:1->2-> ...
- 力扣—— 19. 删除链表的倒数第 N 个结点(java)、剑指 Offer 22. 链表中倒数第k个节点(java)
19. 删除链表的倒数第 N 个结点(java) 一.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3 ...
- 《剑指offer》-- 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点
一.两个链表的第一个公共结点: 1.题目: 输入两个链表,找出它们的第一个公共结点. 2.解题思路: (1)第一种:找出两个链表的长度,然后让长的链表先走两个链表的长度差,接着两个链表一起走. (2) ...
- 【每日一题】剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点
- 【LeetCode】剑指 Offer 22. 链表中倒数第k个节点
[LeetCode]剑指 Offer 22. 链表中倒数第k个节点 文章目录 [LeetCode]剑指 Offer 22. 链表中倒数第k个节点 一.遍历 二.双指针 总结 一.遍历 先遍历统计链表长 ...
- 剑指Offer #14 链表中倒数第k个结点(快慢指针) | 图文详解
题目来源:牛客网-剑指Offer专题 题目地址:链表中倒数第k个结点 题目描述 输入一个链表,输出该链表中倒数第k个结点. 节点结构如下: public class ListNode {int val ...
- 剑指offer 附加1. 删除链表中的重复结点
1.问题描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处 ...
- 剑指offer:链表中倒数第k个结点 python实现
链表中倒数第k个结点 输入一个链表,输出该链表中倒数第k个结点. 解题思路 暴力求解: 判断链表是否为空: 复制链表,遍历一遍统计其长度: 如果长度小于k.则返回None: 否则,返回其长度-k的链表 ...
- 剑指offer——22.链表中倒数第k个节点
题目: 输入一个链表,输出该链表中倒数第k个结点. 知识点: 注意这种想法:找倒数第几个.中间的数或三分之一的数这种题,可以利用两个指针,通过指针移动的不同方式来实现 注意: 还是考虑的情况要周全,此 ...
最新文章
- LeetCode Path Sum III(前缀和)
- 【MATLAB】图像导出 ( 导出绘制的图像 | 图像设置 )
- linux 数据转换
- hash()函数的实现
- 二、项目运行环境【PMP 】
- 百度自动推送html5,百度暂停 JS 代码自动推送功能,代码是否需要删除?
- 微塔式服务器esxi虚拟机黑群晖,ESXi6主机上安装部署黑群晖虚拟机
- 效果超某度OCR:文本检测、文本识别(cnn+ctc、crnn+ctc)
- Webpack常用插件总结
- 显著目标检测的研究思路
- 推荐好用的输入法 QQ输入法 及设置特定词组的输入方式
- linux制作 引导盘,制作Linux引导盘的四种方法
- 墨盒和墨仓打印机区别?
- 概率论与数理统计(第二章---随机变量及其分布函数
- 传统弓上弦的几种方式
- 图片缩略图,CMYK图片变红问题解决
- 视频类网站的简单研究
- 信息技术时代杂志信息技术时代杂志社信息技术时代编辑部2022年第9期目录
- 开源堡垒机jumpserver及麒麟堡垒机安装
- MATLAB中randi函数的用法
热门文章
- 扒一扒9.3阅兵直播如何采用虚拟现实技术
- 代码管理(二)sourcetree 安装与使用
- 开源docker管理平台rancher 安装部署
- Kafka学习之broker配置(0.8.1版)(转)
- 今天加入了OSChina,准备将我的BLOG搬到这里。
- 如何用hover实现下拉菜单
- 9.凤凰架构:构建可靠的大型分布式系统 --- 可靠通信
- 15.卷1(套接字联网API)---Unix域协议
- 7. Document write() 方法
- li:hover与a:hover的区别