Remove Duplicates from Sorted List II ——LeetCode
2015-06-07 22:35
387 查看
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given
Given
题目大意:给定一个有序的单链表,删除所有重复元素,只保留出现一次的。
解题思路:记录前驱节点,如果当前元素是重复的,直接把前驱节点的next指向后一个,循环一遍即可。代码写的还是很纠结。WA了五六次。
For example,
Given
1->2->3->3->4->4->5, return
1->2->5.
Given
1->1->1->2->3, return
2->3.
题目大意:给定一个有序的单链表,删除所有重复元素,只保留出现一次的。
解题思路:记录前驱节点,如果当前元素是重复的,直接把前驱节点的next指向后一个,循环一遍即可。代码写的还是很纠结。WA了五六次。
public ListNode deleteDuplicates(ListNode head) { if(head==null||head.next==null){ return head; } ListNode dummy = new ListNode(0); ListNode ptr = head; while(head!=null){ ptr=head; while(ptr.next!=null&&ptr.val==ptr.next.val){ ptr=ptr.next; } if(head!=ptr){ head=ptr.next; }else{ break; } } dummy.next=head; ListNode tmp = head; while(tmp!=null){ ptr=tmp.next; if(ptr==null){ break; } while(ptr!=null&&ptr.next!=null&&ptr.val==ptr.next.val){ ptr=ptr.next; } if(ptr==tmp.next){ tmp=tmp.next; continue; } tmp.next=ptr.next; } return dummy.next; }
相关文章推荐
- AppStore App申请审核加速
- UNP---套接字简介
- 比CMD更强大的命令行WMIC
- jQuery对表单、表格的操作及更多应用(下:其他应用)
- POJ 2774 最长公共子串
- Pig distinct用法举例
- Java:基本语法
- Ant详解
- IOS之C语言进制转换
- hdu5266 LCA 倍增法
- Pig group用法举例
- ASP.NET WebForm Form表单如何实现MVC那种“自动装配”效果呢?
- SOA实践之基于服务总线的设计
- 2014中国大数据行业大调查:开发者究竟需要什么?
- PHP会话处理相关函数介绍
- jQuery对表单、表格的操作及更多应用(中:表格应用)
- 程序员
- 矩阵替换
- Json数据解析
- 凌乱的回忆