【手绘漫画】图解LeetCode之删除排序链表中的重复元素(LeetCode 83题)

在这里插入图片描述

图解LeetCode刷题计划

1、写在前面

手绘漫画系列正式上线!!!“图解LeetCode刷题计划” 来了!!!

今天是第十三期,争取每天一期,最多两天一期,欢迎大家监督我。。。
在这里插入图片描述
我就是个鸽子。。。
在这里插入图片描述

2、题目

首先看一下题目,
在这里插入图片描述
嗯,删除节点,好,只要把下一个节点放在上一个节点的指针上就可以了!

好了,废话少说,开始了。
在这里插入图片描述
在这里插入图片描述

3、正文

好了,来一起看一下。

从头开始遍历每一个节点。
在这里插入图片描述
如果下一个节点的 val 和当前指针的 val 相同,那么,删除该节点。

那么什么时候结束呢?

两个条件:

  • 第一,当前指针是最后一个节点了;
  • 第二,当前节点是空的,即空链表;

在这里插入图片描述

4、代码

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        auto cur=head;
        while(cur&&cur->next){
            if(cur->next->val==cur->val){
                cur->next=cur->next->next;
            }
            else{
                cur=cur->next;
            }
        }
        
        return head;
    }
};

在这里插入图片描述
在这里插入图片描述

如果有幸帮到你,请帮我点个【赞】,给个【关注】!如果能顺带【评论】给个鼓励,我将不胜感激。

如果想要更多的资源,欢迎关注 @我是管小亮,文字强迫症MAX~

©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页