2024-1-14
1.cur代替头结点移动,不断修改cur的next域的地址值
2.curNext记录cur下一个结点
3.如果cur的值等于curNext的值,改变cur.next的指向
4.不相等,把cur移动到curNext位置
移动curNest的位置
public ListNode deleteDuplicates(ListNode head) {//删除链表中的重复元素
if (head ==null){//排除头结点为空的情况
return null;
}
if (head.next==null){
return head;//只有一个结点的情况
}
ListNode cur = head;//代替头结点移动
ListNode curNest = cur.next;//记录cur的下一个结点
while (curNest != null){
if (curNest.val== cur.val){//遇到相同的值,改变next存储的值
cur.next = curNest.next;
}else {
cur = curNest;
}
curNest = curNest.next;
}
return head;
}