83 删除排序链表中的重复元素(Easy)
Posted bky-hbq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了83 删除排序链表中的重复元素(Easy)相关的知识,希望对你有一定的参考价值。
-
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/
-
思路
- 因为输入的列表已排序,因此可以通过将当前结点的值与它之后的结点进行比较来确定它是否为重复结点。
- 如果它是重复的,更改当前结点的 next 指针,以便它跳过下一个结点并直接指向下一个结点之后的结点。如果不是重复的,直接递增当前节点
-
Code
class Solution { public: ListNode* deleteDuplicates(ListNode* head) { ListNode *cur = head; //cur!=nullptr:1->1->2,cur->next!=nullptr:1->1->2->3->3 while (cur != nullptr && cur->next != nullptr) { if (cur->val == cur->next->val) { cur->next = cur->next->next; } else { cur = cur->next; } } return head; } };
-
复杂度分析
- 时间复杂度:(O(n)),其中 (n) 是列表中的结点数。列表中的每个结点都检查一次以确定它是否重复。
- 空间复杂度:(O(1))
以上是关于83 删除排序链表中的重复元素(Easy)的主要内容,如果未能解决你的问题,请参考以下文章