image.png

思路

这是一个简单的问题,仅测试你操作列表的结点指针的能力。由于输入的列表已排序,因此我们可以通过将结点的值与它之后的结点进行比较来确定它是否为重复结点。如果它是重复的,我们更改当前结点的 next 指针,以便它跳过下一个结点并直接指向下一个结点之后的结点。

  1. public ListNode deleteDuplicates(ListNode head) {
  2. ListNode cur = head;
  3. while(cur!=null&&cur.next!=null){
  4. if(cur.val==cur.next.val)
  5. cur.next = cur.next.next;
  6. else
  7. cur = cur.next;
  8. }
  9. return head;
  10. }