标签:示例 重复数 重复 duplicate color for strong next 一个
题目:
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
示例 1:
输入: 1->2->3->3->4->4->5
输出: 1->2->5
示例 2:
输入: 1->1->1->2->3
输出: 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 { 13 ListNode dummy(0); 14 dummy.next = head; 15 ListNode *pre = &dummy; 16 ListNode *cur = head; 17 while(cur) 18 { 19 int i = cur->val; 20 if(cur->next && cur->next->val == i) 21 { 22 while(cur && cur->val == i) 23 { 24 pre->next = cur->next; 25 delete cur; 26 cur = pre->next; 27 } 28 cur = pre; 29 } 30 pre = cur; 31 cur = cur->next; 32 } 33 return dummy.next; 34 } 35 };
标签:示例 重复数 重复 duplicate color for strong next 一个
原文地址:https://www.cnblogs.com/ocpc/p/12815155.html