https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/
难度 | 完成日期 | 耗时 | 提交次数 |
---|---|---|---|
中等 | 2020-1-16 | 0.5小时 | 1 |
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
示例 1:
输入: 1->2->3->3->4->4->5
输出: 1->2->5
示例 2:
输入: 1->1->1->2->3
输出: 2->3
ListNode* deleteDuplicates(ListNode* head) {
ListNode *ans = new ListNode(0);
ListNode *ansH = ans;
while (head != nullptr) {
int value = head->val;
bool add = true;
if (head->next != nullptr) {
while (head->next->val == value) {
add = false;
head = head->next;
if (head->next == nullptr) {
break;
}
}
}
if (add) {
ListNode *temp = new ListNode(value);
ans->next = temp;
ans = ans->next;
}
head = head->next;
}
return ansH->next;
}
遍历一遍整个链表,如果该节点数值只有一个则保留,如果重复则跳过。
原文:https://www.cnblogs.com/kennyoooo/p/12202359.html