第83题:删除排序链表中的重复元素

一. 问题描述

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

示例 1:

输入: 1->1->2

输出: 1->2

示例 2:

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

输出: 1->2->3

二. 解题思路

本题思路:采用遍历链表的方式求解。

步骤一:判断当前节点与下一个节点是否相等,如果相等,则删除下一个节点,如果不等,则将下个节点变成当前节点,遍历。重复步骤一。

三. 执行结果

执行用时 :1 ms, 在所有 java 提交中击败了99.65%的用户

内存消耗 :37 MB, 在所有 java 提交中击败了55.30%的用户

四. Java代码

class Solution {
    public ListNode deleteDuplicates(ListNode head) {
         ListNode first=head;
            if(head==null)
              {
                  return head;
              }
            while(first.next!=null)
            {
                if(first.val==first.next.val)
                {
                    first.next=first.next.next;
                    
                }else
                {
                    first=first.next;
       
                }
            }
            return head;
    }
}