首页 > 其他分享 >#yyds干货盘点# LeetCode面试题:删除排序链表中的重复元素

#yyds干货盘点# LeetCode面试题:删除排序链表中的重复元素

时间:2023-04-21 23:31:55浏览次数:44  
标签:yyds 面试题 ListNode cur head next 链表 排序

1.简述:

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

 

示例 1:

输入:head = [1,1,2]

输出:[1,2]

示例 2:

输入:head = [1,1,2,3,3]

输出:[1,2,3]

2.代码实现:

class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        if (head == null) {
            return head;
        }

        ListNode cur = head;
        while (cur.next != null) {
            if (cur.val == cur.next.val) {
                cur.next = cur.next.next;
            } else {
                cur = cur.next;
            }
        }

        return head;
    }
}

标签:yyds,面试题,ListNode,cur,head,next,链表,排序
From: https://blog.51cto.com/u_15488507/6214287

相关文章

  • 707设计链表
    力扣刷题707.设计链表--day3吸取经验OR不足之处对于c++中的类的基础知识不熟,以及结构,结构与类,结构和类中的方法与属性好好看懂这个结构设计:classMyLinkedList{public:structListNode{intval;ListNode*n......
  • 4/21 力扣 82. 删除排序链表中的重复元素 II
    给定一个已排序的链表的头 head, 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回已排序的链表 。 示例1:输入:head=[1,2,3,3,4,4,5]输出:[1,2,5]示例2:输入:head=[1,1,1,2,3]输出:[2,3] 提示:链表中节点数目在范围[0,300]内-100<=Node.val<=100题目......
  • 删除链表的倒数第 N 个结点
    删除链表的倒数第N个节点19.删除链表的倒数第N个结点-力扣(LeetCode)给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例1:输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]Python解:#Definitionforsingly-linkedlist.#classListNode(object):#......
  • 链表相交
    链表相交面试题02.07.链表相交-力扣(LeetCode)给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回null。图示两个链表在节点c1开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保......
  • Java技术_基础技术(0003)_类执行顺序详解+实例(阿里面试题)+详细讲解+流程图
    一、总体原则列出执行顺序的原则(这里本人出了简化,比较明了。可能有漏的,请帮忙补充,但应付该实例足以):  ==父类先于子类;  ==静态先于非静态;  ==变量和块先于构造方法;  ==变量声明先于执行(变量赋值、块执行);(这一点是根据数据在内存中是如何存储的得出的,基本类型、对象、......
  • leetcode-876链表的中间节点
    找链表的中间节点思路心得当不知道while的终止条件时,可以先写while(true),然后在循环体中写终止条件,这样写的好处是可以暂时不考虑终止条件,使思路更清晰;坏处是这样有时候会使循环体的内容很混乱要注意分类!本题中把情况分为节点个数是奇数和偶数去分析,最终找到统一的......
  • leetcode-234回文链表
    回文链表方法一:借助数组进行判断把节点的值复制到一个数组中再利用数组进行判断,但是这样需要占用额外的空间/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*......
  • [牛客]链表分割
    编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前。牛客链接最简单思路因为头插必然改变顺序,所以使用尾插大于的尾插到一个链表小于的尾插到一个链表然后链接起来使用哨兵位的头结点,防止太多问题的产生/*structListNode{intval;struc......
  • #yyds干货盘点#match 语句
    最简单的形式是将一个目标值与一个或多个字面值进行比较:defhttp_error(status):matchstatus:case400:return"Badrequest"case404:return"Notfound"case418:return"I'mateapot"......
  • 单链表的实现
    链表的概念我们知道顺序表的储存方式是一片连续的空间里面储存数据而链表就不一样了,从这个图我们可以看到在一个链表里面有两个储存空间的部分,一部分是用以储存我们的数据,而另一部分储存的是一个结构体的地址,而这个地址指向的空间里面也有两个部分的储存空间用处和上面的一样,直到最......