本文共 836 字,大约阅读时间需要 2 分钟。
题目描述
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表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) { ListNode first=new ListNode(-1);//新建节点-1作为首节点 first.next=pHead;//将所给链表与首节点相连 ListNode last=first;//将首节点赋给下一个节点 ListNode p=pHead;//将所给链表赋给赋给p while(p!=null&&p.next!=null){//比较节点p和下一个节点 if(p.val==p.next.val){//值比较 int val=p.val; while(p!=null&&p.val==val){//不为空 p=p.next; last.next=p; } }else{ last=p; p=p.next; } } return first.next; }}
转载地址:http://stssn.baihongyu.com/