Leetcode 题解 Remove Duplicates from Sorted List

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

For example,
Given 
1->1->2, return 1->2.
Given 
1->1->2->3->3, return 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) {

 

}

};

注:从一个有序的单向链表中删除重复元素。

代码如下

 

/**
 * 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* former;ListNode* latter;
        	if (head==NULL) return head;
	former = head; latter = former->next;
	while (latter != NULL)
	{
		if (former->val == latter->val)
		{
			former->next = latter->next; latter = former->next;
		}
		else
		{
			former = latter; latter = former->next;
		}
	} 
	return head;
        
    }
};

 

 

 

原文地址:https://www.cnblogs.com/simayuhe/p/6836482.html