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

总结:

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

相关推荐
All for pursuit.34 分钟前
【回溯-6】79.单词搜索
数据结构·c++·算法·leetcode
Navigator_Z44 分钟前
LeetCode //C - 1281. Subtract the Product and Sum of Digits of an Integer
c语言·算法·leetcode
xUxIAOrUIII1 小时前
日常笔记-1005-1
linux·笔记·python·macos
kaixin_啊啊2 小时前
彩谱FS-13高光谱相机学习笔记
图像处理·笔记·学习·高光谱相机
Ruannn(努力版)3 小时前
Patient/public-facing dashboards-prototype dashboard display
笔记
旖旎夜光3 小时前
LeetCode 1576: 替换所有的问号(模拟) —— 题解
c++·学习·算法·leetcode·力控
longlongzihan3 小时前
回溯法详解:LeetCode 46. 全排列
算法·leetcode·回溯
坤坤子吖4 小时前
Python基础语法学习:列表和元组
开发语言·笔记·python·学习
by209994 小时前
list 的使用:把节点、位置和操作联系起来的综合叙述(上)
数据结构·c++·笔记·list