剑指offer--删除链表中重复的结点
2015-04-17 19:18
295 查看
题目描述
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表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 { ListNode deleteDuplication(ListNode pHead) { if(pHead==null) return null; ListNode p = pHead; ListNode n = new ListNode(0); ListNode pre = n; n.next = pHead; boolean flag = false; while(p!=null){ ListNode q = p.next; if(q==null) break; if(q.val==p.val){ while(q!=null && q.val==p.val){ q = q.next; } pre.next = q; p =q; }else{ if(!flag){ n.next = p; flag = true; } pre = p; p = q; } } return n.next; } }
相关文章推荐
- 剑指offer-56.删除链表中重复的结点
- 剑指offer-删除链表中重复的结点
- 剑指Offer——删除链表中重复的结点
- 剑指Offer--057-删除链表中重复的结点
- 剑指offer——删除链表中重复的结点
- 剑指Offer——删除链表中重复的结点
- 剑指offer:删除链表中重复的结点
- 【剑指Offer】面试题57:删除链表中重复的结点
- 【剑指Offer学习】【面试题57:删除链表中重复的结点】
- 剑指offer--删除链表中重复的结点
- 【剑指Offer】删除链表中重复的结点
- 【剑指offer】题57:删除链表中的重复的结点
- (C++)剑指offer-56:删除链表中重复的结点(链表)
- 剑指offer 删除链表中重复的结点
- 剑指offer 面试题57 删除链表中重复的结点
- 剑指offer_链表---删除链表中重复的结点
- 【剑指Offer】面试题57:删除链表中重复的结点
- 剑指offer | 训练题55:删除链表中重复的结点
- [剑指offer]删除链表中重复的结点
- 剑指offer: 删除链表中重复的结点