- 题目
给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。 返回 已排序的链表 。 - 示例
示例 1: 输入:head = [1,1,2] 输出:[1,2] 示例 2: 输入:head = [1,1,2,3,3] 输出:[1,2,3] - 解题思路
- 因为链表是排序的,所以重复的元素一定是连续。
- 使用一个指针,便是当前节点的前节点,前节点为已经确定不重复的节点,判断当前节点是否和前节点是否相同,相同则下一个,不同则表示新节点。
- 代码(Java)
class Solution { public ListNode deleteDuplicates(ListNode head) { if (head == null || head.next == null) { return head; } ListNode root = head; ListNode pre = head; head = head.next; while (head != null) { if (pre.val == head.val) { pre.next = head.next; } else { pre = head; } head = head.next; } return root; } }
LeetCode83 删除排序链表中的重复元素
最新推荐文章于 2025-12-06 07:43:37 发布
该文章介绍了一种在Java中解决删除已排序链表中重复元素的问题的方法,通过遍历链表并利用前一个节点判断当前节点是否重复来简化操作。
613

被折叠的 条评论
为什么被折叠?



