LeetCode83-删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

示例 1:

输入: 1->1->2
输出: 1->2

示例 2:

输入: 1->1->2->3->3
输出: 1->2->3

一、思路

遇到重复的循环删除

C++代码:

class Solution {
public:
	ListNode* deleteDuplicates(ListNode* head) {
		ListNode *sentry = new ListNode(0);
		sentry->next = head;
		ListNode *cur = head, *pre = sentry;

		while (cur != NULL) {
			while (cur != NULL && cur->next != NULL && cur->val == cur->next->val)
				cur->next = cur->next->next;
			cur = cur->next;
		}
		return sentry->next;
	}
};

执行效率:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lyd1995/article/details/89325522