【手繪漫畫】圖解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~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章