首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
Oracle
›
java练习(27)
返回列表
发新帖
java练习(27)
[复制链接]
发表于 2025-10-30 08:24:56
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
ps:练习来独立扣
删除排序链表中的重复元素
给定一个已排序的链表的头 head ,
删除全部重复的元素,使每个元素只出现一次
。返回
已排序的链表
。
代码
来自官方题解
class Solution {
public ListNode deleteDuplicates(ListNode head) {
// 首先检查链表是否为空,如果为空,直接返回 head(也就是 null)
// 因为空链表不存在重复元素,无需进行删除操作
if (head == null) {
return head;
}
// 定义一个指针 cur,初始时指向链表的头节点 head
// 后续我们会通过移动 cur 指针来遍历链表
ListNode cur = head;
// 使用 while 循环来遍历链表,只要 cur 的下一个节点不为空,就继续循环
while (cur.next != null) {
// 比较当前节点 cur 的值和它下一个节点 cur.next 的值
if (cur.val == cur.next.val) {
// 如果两个节点的值相等,说明这两个节点是重复的
// 此时我们将 cur 的 next 指针指向 cur.next 的下一个节点
// 也就是跳过 cur.next 这个重复节点,相当于删除了它
cur.next = cur.next.next;
} else {
// 如果两个节点的值不相等,说明当前节点和下一个节点不是重复节点
// 此时将 cur 指针移动到下一个节点,继续往后遍历链表
cur = cur.next;
}
}
// 当遍历完整个链表后,所有重复的节点都已经被删除
// 最后返回链表的头节点 head,此时链表中每个元素只出现一次
return head;
}
}
复制
代码
回复
使用道具
举报
返回列表
浏览过的版块
物联网
数据仓库与分析
DevOps与敏捷开发
分布式数据库
云原生
SAAS
linux
程序人生
欢乐狗
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表