当前位置: 首页 > article >正文

【Java】【力扣】83.删除排序链表中的重复元素

题目

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

示例 1:

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

示例 2:

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

提示:

  • 链表中节点数目在范围 [0, 300] 内
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序 排列

思路

注意注意!:因为是有序的,所以相同的数一定挨在一起!!

所以只要从“头”到 “倒一 ”遍历,

如果当前节点和下一个节点 值相同,就删掉下一个节点

代码

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode deleteDuplicates(ListNode head) {
 if (head == null){
                return head;
            }
            //cur表示当前节点,从head开始
            ListNode cur = head;
            
            while (cur.next!=null){
                if (cur.next.val == cur.val){
                    cur.next = cur.next.next;
                }else {
                    cur=cur.next;
                }
                
            }
            return head;
    }
}

记录

总结

因为没注意到是有序的,,所以想了特别久,以后一定要先看清题目!!!


http://www.kler.cn/a/308886.html

相关文章:

  • C++ —— 哈希详解 - 开散列与闭散列
  • 卷积、频域乘积和矩阵向量乘积三种形式之间的等价关系与转换
  • JavaSecLab靶场搭建
  • DAY112代码审计PHP开发框架POP链利用Yii反序列化POP利用链
  • Bugku CTF_Web——点login咋没反应
  • linux设置主机名
  • TensorRT-LLM——优化大型语言模型推理以实现最大性能的综合指南
  • react18基础教程系列-- 框架基础理论知识mvc/jsx/createRoot
  • 预训练蛋白质语言模型ESM-2保姆级使用教程
  • C++设计模式(更新中)
  • 数据结构:(OJ141)环形列表
  • 李宏毅2023机器学习HW15-Few-shot Classification
  • 部分动态铜皮的孤岛无法删除。报错
  • Linux下的CAN通讯
  • 深度学习中实验、观察与思考的方法与技巧
  • JavaScript:驱动现代Web应用的关键引擎及其与HTML/CSS的集成
  • 数模原理精解【11】
  • el-table 如何实现行列转置?
  • C#读取应用配置的简单类
  • 软件测试工程师面试整理-常见面试问题
  • 后端Controller获取成功,但是前端报错404
  • etcd入门指南:分布式事务、分布式锁及核心API详解
  • 企业开发时,会使用sqlalchedmy来构建数据库 结构吗? 还是说直接写SQL 语句比较多?
  • 断电重启之后服务器都有哪些服务需要重启
  • 828华为云征文|docker部署kafka及ui搭建
  • VRRP 笔记