LeetCode_双指针_简单_83.删除排序链表中的重复元素
2023-09-27 14:25:46 时间
1.题目
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素只出现一次 。
返回同样按升序排列的结果链表。
示例 1:
输入:head = [1,1,2]
输出:[1,2]
示例 2:
输入:head = [1,1,2,3,3]
输出:[1,2,3]
提示:
链表中节点数目在范围 [0, 300] 内
-100 <= Node.val <= 100
题目数据保证链表已经按升序排列
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list
2.思路
(1)双指针
本题与LeetCode_双指针_简单_26.删除有序数组中的重复项这题的思路基本一致,只不过所操作的对象由数组变成了链表。
3.代码实现(Java)
//思路1————双指针
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) {
//head 为 null 时,直接返回 null 即可
if (head == null) {
return null;
}
//定义双指针
ListNode slow = head, fast = head;
while (fast != null) {
if (fast.val != slow.val) {
//nums[slow] = nums[fast]
slow.next = fast;
//slow++
slow = slow.next;
}
//fast++
fast = fast.next;
}
//断开与后续重复元素的连接
slow.next = null;
return head;
}
}
相关文章
- Leetcode: Insertion Sort List
- Leetcode: Remove Duplicates from Sorted Array
- [LeetCode]Remove Element
- LeetCode高频题19:删除链表的倒数第 N 个结点
- 【Leetcode】21. 合并两个有序链表(简单)
- Leetcode 572. 另一棵树的子树(简单)
- 【Leetcode】143. 重排链表(中等)
- Leetcode 887.鸡蛋掉落(Hard)
- LeetCode 237. 删除链表中的节点
- 【Java数据结构与算法】LeetCode 0019. 删除链表的倒数第N个结点
- LeetCode数据结构_C语言题解系列-链表
- 力扣203 - 移除链表元素【LeetCode转VS调试技巧教学】
- 160、【动态规划】leetcode ——279. 完全平方数:二维数组+一维滚动数组(C++版本)
- 【leetcode】日积月累,每日一题--203. 移除链表元素(DayDayUp 12)
- 【leetcode】83: 删除排序链表中的重复元素
- 【Leetcode 】21:合并两个有序链表(Python)
- [LeetCode] 1145. Binary Tree Coloring Game 二叉树着色游戏
- [LeetCode] Maximum Length of Pair Chain 链对的最大长度
- [LeetCode] Decode Ways II 解码方法之二
- [LeetCode] 369. Plus One Linked List 链表加一运算
- [LeetCode] 395. Longest Substring with At Least K Repeating Characters 至少有K个重复字符的最长子字符串
- [LeetCode] Delete Node in a Linked List 删除链表的节点
- [LeetCode] 25. Reverse Nodes in k-Group 每k个一组翻转链表
- [LeetCode] Longest Consecutive Sequence 求最长连续序列
- [LeetCode] 147. Insertion Sort List 链表插入排序
- [LeetCode] 82. Remove Duplicates from Sorted List II 移除有序链表中的重复项之二
- leetcode 114. Flatten Binary Tree to Linked List 二叉树展开为链表(简单)
- leetcode 83. Remove Duplicates from Sorted List 删除排序链表中的重复元素(简单)
- leetcode 206. Reverse Linked List 反转链表(简单)
- leetcode算法160.相交链表