图解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~