赞
踩
题目: 删除链表中重复的结点
题目描述:
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
代码:
public class Solution { public ListNode deleteDuplication(ListNode pHead) { if(pHead==null || pHead.next==null) return pHead; //找两个先驱节点 ListNode cur = pHead; ListNode next; ListNode ss = new ListNode(0); ss.next = pHead; ListNode pre = ss; while(cur!=null && cur.next!=null){ boolean flag = false; next = cur.next; while(next!=null&&cur.val == next.val){ flag = true; next = next.next; } if(flag){ ss.next = next; cur= next; }else{ ss.next = cur; ss = cur; cur = next; } } return pre.next; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。