Leetcode之Remove Duplicates from Sorted List

题目:

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

Example 1:

Input: 1->1->2
Output: 1->2

Example 2:

Input: 1->1->2->3->3
Output: 1->2->3

代码:

/**
 * 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) {
        	if (!head)return NULL;
	ListNode* p = head->next;
	ListNode* first = new ListNode(0);
	first->next = head;
	while (p) {
		while (p&&head->val == p->val) {
			p = p->next;
		}
		head->next = p;
		head = p;

	}
	return first->next;
    }
};

猜你喜欢

转载自blog.csdn.net/qq_35455503/article/details/89488954