首页 > 代码库 > LeetCode83 Remove Duplicates from Sorted List

LeetCode83 Remove Duplicates from Sorted List

题目:

Given a sorted linked list, delete all duplicates such that each element appear only once. (Easy)

For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 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 dummy(0);13         dummy.next = head;14         while (head != nullptr && head -> next != nullptr) {15             if (head -> next -> val == head -> val) {16                 ListNode* temp = head -> next;17                 head -> next = head -> next -> next;18                 delete temp;19             }20             else {21                 head = head -> next;22             }23         }24         return dummy.next;25     }26 };

 

 

LeetCode83 Remove Duplicates from Sorted List