LeetCode 83. 删除排序链表中的重复元素
83. 删除排序链表中的重复元素
题目
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。
示例 1:
输入:head = [1,1,2]
输出:[1,2]
示例 2:
输入:head = [1,1,2,3,3]
输出:[1,2,3]
提示:
链表中节点数目在范围 [0, 300] 内
-100 <= Node.val <= 100
题目数据保证链表已经按升序排列
思路
第一种就是使用一个hashmap保存所有的节点的数据,每次遍历的时候要判断当前节点是否有重复
注意:1,1,1的特殊情况
第二种思路:因为链表是升序所以我们可以判断当前链表节点的值和下一个节点的值是否相等,如果相等则重复
实现
第一种:链表升序排列,判断当前链表节点的值和下一个节点的值是否相等
1 | private static class Solution { |
第二种:使用hashmap存储
1 | private static class Solution2 { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 吕小医's BLOG!