|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目描述:
- 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
- 示例 1:
- 输入: 1->2->3->3->4->4->5
- 输出: 1->2->5
- 示例 2:
- 输入: 1->1->1->2->3
- 输出: 2->3
- 来源:力扣(LeetCode)
- 链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii
- 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
复制代码
- /**
- * Definition for singly-linked list.
- * struct ListNode {
- * int val;
- * ListNode *next;
- * ListNode(int x) : val(x), next(NULL) {}
- * };
- */
- class Solution {
- public:
- ListNode* deleteDuplicates(ListNode* head) {
- //插入哨兵
- ListNode* temp = new ListNode(-1);
- temp -> next = head;
- head = temp;
- ListNode*left, *right;
- while(temp -> next != NULL){
- left = temp -> next;
- right = left;
- while(right -> next != NULL && right -> next -> val == left -> val)right = right -> next;
- if(left == right)temp = temp -> next;
- else temp -> next = right -> next;//注意此处书写!!!
- }
- return head -> next;
- }
- };
复制代码
参考链接:https://leetcode-cn.com/problems ... hen-fa-by-justdo1t/ |
|