57.在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指
针。
思路:先新建一个头节点,然后向后查找值相同的节点,重复查找后删除
public class Solution {
public ListNode deleteDuplication(ListNode pHead)
{
if(pHead == null)
return null;
ListNode first=new ListNode(-1);
first.next=pHead;
ListNode p=pHead;
ListNode preNode = first;
while(p!=null && p.next!=null)
{
if(p.val==p.next.val)
{
int val=p.val;
while(p!=null && p.val==val)
{
p=p.next;
}
preNode.next=p;
}
else{
preNode = p;
p=p.next;
}
}
return first.next;
}
}
博客介绍了在排序链表中删除重复节点的问题。给定排序链表,需删除所有重复节点且不保留,返回链表头指针。思路是先新建一个头节点,再向后查找值相同的节点,重复查找后将其删除。
1171

被折叠的 条评论
为什么被折叠?



