leetcode刷题 82.删除排序链表中的重复元素Ⅱ
生活随笔
收集整理的這篇文章主要介紹了
leetcode刷题 82.删除排序链表中的重复元素Ⅱ
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目解析:
因?yàn)楸绢}是使用鏈表,且題目要求刪除連續(xù)重復(fù)數(shù)字,由此可以想到我們應(yīng)該使用雙指針的方法。
代碼實(shí)現(xiàn):
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/ class Solution { public:ListNode* deleteDuplicates(ListNode* head) {if(head==nullptr) //檢測(cè)鏈表是否為空return p->next;ListNode *p = new ListNode(0); p->next = head; //新建空指針使其指向頭節(jié)點(diǎn)ListNode *temp = p; //設(shè)置臨時(shí)指針,指向當(dāng)前指針ListNode *left = head; //設(shè)置雙指針左側(cè)ListNode *right = head->next; //設(shè)置雙指針右側(cè)while( right ) //循環(huán){if(left->val==right->val) //如果雙指針相同{while(right&&left->val==right->val) //這是一個(gè)比較好的用來檢測(cè)連續(xù)存在相同數(shù)的方法right=right->next;temp->next=right;left=right;if(right)right=right->next;}else //未出現(xiàn)重復(fù)時(shí)移動(dòng)指針{temp=left;left=right;right=right->next;}}return p->next;} }; 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的leetcode刷题 82.删除排序链表中的重复元素Ⅱ的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 名下不动产怎么查询 如何查询名下不动产
- 下一篇: leetcode刷题 15.三数之和