- 题目
给定一个已排序的链表的头 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-07-27 17:26:56 发布