题解 | #删除有序链表中重复的元素-II#

删除有序链表中重复的元素-II

https://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024

本题难度不大,是上一道题的扩展,思路代码如下:

首先,创建一个虚拟节点,并把它接在原链表的头结点之前,为后面删除重复头结点做准备

public ListNode deleteDuplicates (ListNode head) {
       ListNode res=new ListNode(0);
       res.next=head;
       ListNode cur=res;
对头结点进行判定,若为空则返回null

if (head==null){
           return null;
            }
主体代码,对各个值进行比较,然后删除相同值节点

 while (cur.next!=null&&cur.next.next!=null){
           if (cur.next.val==cur.next.next.val){//循环条件
               int tmp=cur.next.val;//把相同的值记下来
               while (cur.next!=null&&cur.next.val==tmp) {//循环条件,利用虚拟节点可以一直指向不同的节点,并一直找到值不相同的点
                   cur.next = cur.next.next;
               }
           }else{
               cur=cur.next;//不相同,将cur转向下一个节点前,继续循环
           }
        }
        return res.next;//销毁虚拟节点
    }

以上

全部评论

相关推荐

ProMonkey2024:5个oc?厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了(别的帖子偷来的,现学现卖😋)
点赞 评论 收藏
分享
Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务