删除链表中重复的结点
来源:互联网 发布:达观数据 融资 编辑:程序博客网 时间:2024/06/05 08:33
题目描述
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。
注意原链表头节点的处理。
参考代码:
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode deleteDuplication(ListNode pHead) { if(pHead == null){ return null; } ListNode h = new ListNode(-1); //创建一个节点,用来表示原链表头节点的头节点 h.next = pHead; ListNode p1 = pHead; ListNode p2 = pHead; ListNode frontp1 = h; ListNode frontp2 = null; boolean t = false; while(p1 != null){ //frontp1 = p1; frontp2 = p1; p2 = p1.next; while(p2 != null){ if(p1.val == p2.val){ frontp2.next = p2.next; p2 = frontp2.next; t = true; }else{ frontp2 = p2; p2 = p2.next; } } if(t){ t = false; frontp1.next = p1.next; p1 = frontp1.next; }else{ frontp1 = p1; p1 = p1.next; } } return h.next; }}
阅读全文
1 0
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- MySQL优化
- 辅助jar包---ssh2
- [ubuntu 12] 开机 重启 图形界面切换 2015年总结
- 数据库锁的基本原理
- git rebase 压缩提交的方法
- 删除链表中重复的结点
- [笔记]简单的验证码制作
- Linux vmstat命令实战详解【并发编程基础】
- C++ 类型萃取
- Android实现点击通知栏后,先启动应用再打开目标Activity
- Windows·Python2与Python3共存
- <c:forEach items="${userList}" varStatus="i" var="item" >
- 网页中<a>标签属性统一设置新窗口打开
- Hadoop SSH 无密码登陆