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

LeetCode 0083.删除排序链表中的重复元素:模拟

【LetMeFly】83.删除排序链表中的重复元素:模拟

力扣题目链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-list/

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

 

示例 1:

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

示例 2:

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

 

提示:

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

方法一:模拟

当前节点下一个节点都非空时:

  • 如果当前节点下一个节点值相同,就删掉下一个节点now->next = now->next->next
  • 否则,当前节点后移(now = now->next

最终返回传入的头节点即可。

  • 时间复杂度 O ( l e n ( n o d e l i s t ) ) O(len(nodelist)) O(len(nodelist))
  • 空间复杂度 O ( 1 ) O(1) O(1)

AC代码

C++
class Solution {
public:ListNode* deleteDuplicates(ListNode* head) {ListNode* ans = head;while (head && head->next) {if (head->val == head->next->val) {head->next = head->next->next;  // haven't delete node}else {head = head->next;}}return ans;}
};
Python
# from typing import Optional# # Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = nextclass Solution:def deleteDuplicates(self, head: Optional[ListNode]) -> Optional[ListNode]:ans = headwhile head and head.next:if head.val == head.next.val:head.next = head.next.nextelse:head = head.nextreturn ans

同步发文于CSDN,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/135581000

http://www.lryc.cn/news/280105.html

相关文章:

  • Javaweb之SpringBootWeb案例新增部门的详细解析
  • 基于微信小程序的音乐平台 开源项目
  • uniapp 微信小程序跳转外部链接
  • 【STM32】FLASH闪存
  • 滴水内存地址堆栈
  • Laravel中的lockForUpdate悲观锁
  • BikeDNA(八)外在分析:OSM 与参考数据的比较2
  • 28 星际旋转
  • 测试人员必备基本功(3)
  • 记一次数据修复,需要生成十万条sql进行数据回滚
  • [paddle]paddlehub部署paddleocr的hubserving服务
  • 2024校招,网易互娱游戏测试工程师一面
  • Linux Ubuntu搭建我的世界Minecraft服务器实现好友远程联机MC游戏
  • Springboot对接ceph集群以及java利用s3对象网关接口与ceph集群交互
  • nrm使用
  • 06-微服务OpenFeigh和Sentinel持久化
  • docker 安装redis (亲测有效)
  • 利用GitHub开源项目ChatGPTNextWeb构建属于自己的ChatGPT - Docker
  • Vue3使用ElementPlus中的el-upload手动上传并调用上传接口
  • 【Github3k+⭐️】《CogAgent: A Visual Language Model for GUI Agents》译读笔记
  • FF的异步清零端口需要时钟吗?--不需要
  • 【conda】pip安装报错,网络延时问题解决记录(亲测有效)
  • Spring Boot整理-Spring Boot的优势
  • C++标准学习--decltype
  • Linux之静态库和动态库
  • erlang/OTP 平台(学习笔记)(三)
  • Spring整理-Spring框架中用了哪些设计模式
  • Poi实现根据word模板导出-图表篇
  • windows或mac端口转发
  • Linux工具-搭建文件服务器