83.删除排序链表中的重复元素

题目

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

示例 1:

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

示例 2:

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

思路

将下一个节点和当前节点进行比较,如果两者相等,那就将下下个节点接到这个节点的后面,相当于将重复的节点摘除了.

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public ListNode DeleteDuplicates(ListNode head)
{
if (head == null)
{
return head;
}
ListNode node = head;
while (node.next != null)
{
if (node.next.val == node.val)
{
node.next = node.next.next;
}
else
{
node = node.next;
}
}
return head;
}