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

总结:

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

相关推荐
小开不是小可爱40 分钟前
leetcode_383. 赎金信_java
java·数据结构·算法·leetcode
Allen Wurlitzer4 小时前
算法刷题记录——LeetCode篇(1.8) [第71~80题](持续更新)
算法·leetcode·职场和发展
Starry_hello world5 小时前
Linux 的准备工作
linux·笔记·有问必答
夜月yeyue6 小时前
ARM内核与寄存器
arm开发·stm32·单片机·嵌入式硬件·mcu·链表
IT _oA7 小时前
Active Directory 域服务
运维·服务器·网络·windows·笔记
袖清暮雨8 小时前
Python刷题笔记
笔记·python·算法
六bring个六8 小时前
QT上位机笔记
开发语言·笔记·qt
熬夜造bug8 小时前
LeetCode Hot100 刷题笔记(1)—— 哈希、双指针、滑动窗口
笔记·leetcode·hot100
しかし11811410 小时前
C语言队列的实现
c语言·开发语言·数据结构·数据库·经验分享·链表
不吃元西11 小时前
leetcode 74. 搜索二维矩阵
算法·leetcode·矩阵