剑指offer系列30-----删除链表中重复的节点
【题目】在一个排序的链表中,存在重复的结点,
* 请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。
* 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
package com.exe7.offer; /**【题目】在一个排序的链表中,存在重复的结点,
* 请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。
* 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
* @author WGS
*/
public class DeleteDuplication { public class ListNode{
int val;
ListNode next=null;
public ListNode(int val){
this.val=val;
}
} public ListNode deleteDuplicationNodes(ListNode headNode){
if(headNode==null) return headNode;
ListNode indexNode=new ListNode(-1);
indexNode.next=headNode;
ListNode preNode=indexNode;
ListNode curNode=headNode; while(curNode!=null && curNode.next!=null){
if(curNode.val==curNode.next.val){
int val=curNode.val;
while(curNode!=null && curNode.val==val){
curNode=curNode.next;
}
preNode.next=curNode;
}else{//前后不重复
preNode=curNode;
curNode=curNode.next;
}
} return indexNode.next;
}
}
剑指offer系列30-----删除链表中重复的节点的更多相关文章
- 剑指offer 面试题 删除链表中重复的节点
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...
- 剑指offer-面试题18-删除链表中重复的节点-链表
/* 题目: 删除链表中重复的节点 */ /* 思路: 1.声明一个头节点head,即使首元节点被删除,也可返回head->next 2.声明两个指针, 一个指针qNode指向确定不会删除的链表 ...
- 【剑指offer】删除链表中重复的节点,C++实现(链表)
0.简介 本文是牛客网<剑指offer>笔记. 1.题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针.例如,链表1-> ...
- 剑指Offer - 九度1517 - 链表中倒数第k个结点
剑指Offer - 九度1517 - 链表中倒数第k个结点2013-11-30 02:57 题目描述: 输入一个链表,输出该链表中倒数第k个结点.(hint: 请务必使用链表.) 输入: 输入可能包含 ...
- php实现删除链表中重复的节点
php实现删除链表中重复的节点 一.总结 二.php实现删除链表中重复的节点 题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1 ...
- 剑指offer——面试题18.1:删除链表中重复的节点
// 面试题18(二):删除链表中重复的结点 // 题目:在一个排序的链表中,如何删除重复的结点?例如,在图3.4(a)中重复 // 结点被删除之后,链表如图3.4(b)所示. #include &l ...
- 剑指offer(56)删除链表中重复的节点
一直忘记更新了,把剑指offer更新完吧.... 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3-&g ...
- python实现剑指offer删除链表中重复的节点
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...
- 剑指Offer:面试题15——链表中倒数第k个结点(java实现)
问题描述 输入一个链表,输出该链表中倒数第k个结点.(尾结点是倒数第一个) 结点定义如下: public class ListNode { int val; ListNode next = null; ...
随机推荐
- Valid Parentheses
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...
- shell命令:删除当前.sh文件所在目录下的zip包,并且重新打包
filepath=$(cd ")"; pwd) packagePath="$filepath"/package zipPath="$filepath& ...
- eclipse debug (调试) 学习心得
eclipse debug (调试) 学习心得 进入debug模式: 1.设置断点 2.启动servers端的debug模式 3.运行程序,在后台遇到断点时,进入debug调试状态 ...
- 无法Ping通windows 7主机
今天在使用Filezilla FTP_SERVER新建了一个windows主机上的FTP服务器. 建立完成之后,从MAC上无法进行连接也甚至连主机也无法连接,怀疑是防火墙的问题. 网上一搜确实是,但是 ...
- iOS学习笔记---oc语言第十天
内存管理高级 一 属性的内部实现原理 assign retain copy assign 下的属性内部实现 setter方法 @property(nonatomic,assign)NSS ...
- ubuntu13 安装并配置ssh,交换密钥
1.下载安装sudo apt-get install ssh,若出现问题,可选择安装openssh-server,或ssh-server等 2.启动ssh,命令:sudo /etc/init.d/ss ...
- static讲解
static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被stati ...
- HDU 1159 Common Subsequence
HDU 1159 题目大意:给定两个字符串,求他们的最长公共子序列的长度 解题思路:设字符串 a = "a0,a1,a2,a3...am-1"(长度为m), b = "b ...
- UVA-12436 Rip Van Winkle's Code (线段树区间更新)
题目大意:一个数组,四种操作: long long data[250001]; void A( int st, int nd ) { for( int i = st; i <= nd; i++ ...
- Java中相等测试
一:equals与==的区别 (1)基本数据类型 byte,short,char,int,long,float,double,boolean 此类数据类型的比较需要使用==,此时比较的是他们的值,若相 ...