删除链表中重复的结点
2016-04-15 20:17
369 查看
题目描述
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。
/** * 删除链表中重复的结点 * * @author 过路的守望 * */ public class DuplicationNode { public ListNode deleteDuplicateNode(ListNode head){ //节点为空或者只有一个节点,直接返回本节点 if(head == null||head.next == null){ return head; } //新建一个节点指向头结点 ListNode preListNode = new ListNode(-1); ListNode pre = preListNode; //指向当前节点 ListNode cur = head; while(cur != null){ //判断相邻节点值是否相等 if(cur.next != null&&cur.val == cur.next.val){ int value = cur.val; cur = cur.next.next; while(cur!= null&&cur.val == value){ cur = cur.next; } preListNode.next = cur; }else{ preListNode.next = cur; preListNode = preListNode.next; cur = cur.next; } } return pre.next; } } /** * * 链表类 * */ class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }
相关文章推荐
- Java IO5:序列化与反序列化
- 栈的压入、弹出序列
- 中国学者利用纳米人工红细胞精准治疗癌症获突破
- 穷举法之完美综合式
- 泛型方法的定义与使用
- GitHub与StackOverFlow等等
- 面试题:什么叫二叉查找树
- 2016年4月微软在线笔试第二题-403 forbidden
- 泛型类的定义与使用
- 半平面交初级
- 环境——卸载redhat6.5的yum,安装centos6的yum,配置第三房yum源
- java第五次作业
- iOS小技巧 - 选择编译
- HDU 3367 Pseudoforest(最大生成树+并查集)
- Fragment嵌套ViewPager,viewpager切换的时候,手机出现白屏
- 泛型
- Android学习之Android 5.0分享动画实现微信点击全屏效果
- Python3.5.1 百度翻译代码
- 'hibernate.dialect' must be set when no Connection avalable
- iOS 8 系统自带BlurEffect 毛玻璃特效