【链表】83. 删除排序链表中的重复元素
2021-02-01 10:17
标签:ret 输出 时间复杂度 style 循环 public while strong 去重 题目: 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 示例 2: 解答: (1)指定cur指针指向头部head; (2)当cur和cur->next的存在为循环结束条件,当二者有一个不存在时说明链表没有去重复的必要了; (3)如果不相等,则cur移动到下一个位置继续循环; (4)时间复杂度O(n); 【链表】83. 删除排序链表中的重复元素 标签:ret 输出 时间复杂度 style 循环 public while strong 去重 原文地址:https://www.cnblogs.com/ocpc/p/12814012.html输入: 1->1->2
输出: 1->2
输入: 1->1->2->3->3
输出: 1->2->3
1 /**
2 * Definition for singly-linked list.
3 * struct ListNode {
4 * int val;
5 * ListNode *next;
6 * ListNode(int x) : val(x), next(NULL) {}
7 * };
8 */
9 class Solution {
10 public:
11 ListNode* deleteDuplicates(ListNode* head) {
12 ListNode *cur = head;
13
14 while (cur && cur->next)
15 {
16 if (cur->val == cur->next->val)
17 {
18 cur->next = cur->next->next;
19 }
20 else
21 {
22 cur = cur->next;
23 }
24 }
25
26 return head;
27 }
28 };
文章标题:【链表】83. 删除排序链表中的重复元素
文章链接:http://soscw.com/index.php/essay/49446.html