leetcode做题笔记83删除排序链表中的重复元素

给定一个已排序的链表的头 head删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表

复制代码
输入:head = [1,1,2]
输出:[1,2]

思路一:模拟题意

cpp 复制代码
struct ListNode* deleteDuplicates(struct ListNode* head){
    if(head==NULL||head->next==NULL)return head;
    struct ListNode*p = head,*q = head->next;
    while(q!=NULL)
    {
        if(p->val==q->val)p->next = q->next;
        else{
        p = p->next;
    }
    q = q->next;
    }
    return head;   

}

分析:

本题与上题相似,但非将所有重复的元素删除,而是将多的重复元素删除,可添加判断语句判断前一个与后一个val值是否相等来决定是否放入链表中,最后输出链表

总结:

本题考察链表删除操作,添加好判断语句即可做出。

相关推荐
文涛是个小白呀9 分钟前
Java集合大调研
java·学习·链表·面试
hd51cc15 分钟前
MFC多线程学习笔记三:线程间的通信
笔记·学习
hd51cc17 分钟前
MFC多线程学习笔记四:线程间的同步
笔记·学习·mfc
星空的资源小屋35 分钟前
VNote:程序员必备Markdown笔记神器
javascript·人工智能·笔记·django
wdfk_prog38 分钟前
[Linux]学习笔记系列 -- [block]bfq-iosched
linux·笔记·学习
摇滚侠1 小时前
Vue 项目实战《尚医通》,实名认证模块静态的搭建,笔记53
vue.js·笔记
FFF团团员9091 小时前
树莓派学习笔记4:终端常用指令
笔记·学习
Radan小哥2 小时前
Docker学习笔记—day008
笔记·学习·docker
源代码•宸2 小时前
GoLang写一个简单版生命游戏模拟器
经验分享·笔记·学习·游戏·golang
断剑zou天涯9 小时前
【算法笔记】窗口内最大值或最小值的更新结构
java·笔记·算法