剑指offer:删除链表中重复的结点
2018-03-14 22:11
302 查看
题目描述
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路:1. 新建一个head指针,指向头部,方便第一个节点与第二个节点相同2. 新建pre指针,指向当前确定合理的节点上,新建last指针,为工作指针,判断是否前后节点是否一致。 if (pHead==null || pHead.next==null){return pHead;}ListNode Head = new ListNode(0);
Head.next = pHead;
ListNode pre = Head;
ListNode last = Head.next;
while (last!=null){
if(last.next!=null && last.val == last.next.val){
// 找到最后的一个相同节点的下一个节点
while (last.next!=null && last.val == last.next.val){
last = last.next;
}
pre.next = last.next;
last = last.next;
}else{
pre = pre.next;
last = last.next;
}
}
return Head.next;
相关文章推荐
- (php实现剑指offer)删除链表中重复的结点
- 剑指offer——删除链表中重复的结点
- 剑指offer--删除链表中重复的结点
- 《剑指offer》刷题笔记(链表):删除链表中重复的结点
- 《剑指offer》——删除链表中重复的结点
- 剑指offer-面试题57:删除链表中重复的结点
- 剑指offer 删除链表中重复的结点
- 《剑指offer》删除链表中重复的结点
- 《剑指offer》:[57]删除链表中重复的结点
- 剑指offer-面试题57-删除链表中重复的结点
- 剑指Offer系列-面试题57:删除链表中重复的结点
- 剑指offer——删除链表中重复的结点(好题!)
- 剑指offer(c++)——删除链表中重复的结点
- 剑指offer(四十三)之删除链表中重复的结点
- 剑指offer 面试题57 删除链表中重复的结点
- 《剑指offer》-删除单链表中重复的结点
- 删除链表中重复的结点(剑指offer)
- 《剑指offer》——删除链表中重复的结点
- 剑指offer--面试题57:删除链表中重复的结点
- (剑指Offer)面试题57:删除链表中的重复结点