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值是否相等来决定是否放入链表中,最后输出链表

总结:

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

相关推荐
玖玥拾17 分钟前
LeetCode 202 快乐数
算法·leetcode
LuminousCPP20 分钟前
数据结构-二叉树(六):BFS层序遍历与完全二叉树判断|复用链式队列 + (N_0=N_2+1) 性质证明
c语言·数据结构·笔记·算法·二叉树·宽度优先
Tim_102 小时前
【LeetCode】29、两数相除
算法·leetcode·职场和发展
一条破秋裤2 小时前
STM32 学习笔记:PWM 驱动 LED 呼吸灯与舵机代码
笔记·stm32·学习
kyrie_sakura4 小时前
python学习笔记11 -- 进程和线程
笔记·python·学习
自小吃多4 小时前
PCB Editor软件差分对添加与设置笔记
笔记·嵌入式硬件
Capricorn19885 小时前
防编造架构实战:对比 Gemini Notebook 解析知芽 Notebook Skill 的工程实现
人工智能·笔记·elasticsearch·架构·知识图谱·论文笔记
Shell运维手记6 小时前
Linux mdadm 软 RAID + LVM 完整综合笔记
linux·运维·笔记·5g
疯狂打码的少年6 小时前
【数据库技术】SQL数据查询(SELECT基本语法)
数据库·笔记·sql·oracle
Made in Haven7126 小时前
HTML课程笔记补2
前端·笔记·html