Leetcode83
题目
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
分析
已知:给定了一个排序链表,目标:删除重复的元素。
解法
双指针,一个指向不重复的最后一节点,一个负责遍历。要注意遍历结束后,将第一个指针的下一个节点设为null。
代码
public class Solution
{
public ListNode DeleteDuplicates(ListNode head)
{
if (head == null || head.next == null)
{
return head;
}
ListNode s = head;
ListNode f = head.next;
while (f != null)
{
if (s.val != f.val)
{
s.next = f;
s = s.next;
}
f = f.next;
}
s.next = null;
return head;
}
}
效果挺好