从有序链表中移除重复节点(c#)

本文介绍了如何删除有序链表中的重复节点,通过遍历链表并比较相邻节点值来实现,最终返回一个没有重复节点的有序链表。提供了详细的问题描述、示例输入输出以及解决方案描述,代码实现链接见正文。
摘要由CSDN通过智能技术生成

问题描述

给定一个有序链表的头节点,删除该有序链表的所有重复节点,使每个节点只显示一次,并返回删除重复节点后的有序链表。


示例

  • 示例1

Input: head = [1,1,2]
Output: [1,2]

  •  示例2

Input: head = [1,1,2,3,3]
Output: [1,2,3]


解决方案描述

  • 判断头节点是否为空,如果为空,则返回空。
  • 设定一个新的链表节点和链表头节点,并且都指向头节点。
    设定一个当前节点,指向头节点的下一个节点,头结点的值赋给一个变量。
  • 循环链表中每个节点,执行下面的操作:
    1. 如果当前节点不为空,并且该节点的值和变量值相等,则当前节点指向将当前节点的下一个节点,
      直到当前节点为空或当前节点的值不等于变量的值,才往下执行。
    2. 如果当前节点不为空,将新链
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值