一. 问题描述
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 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; } }
原文:https://www.cnblogs.com/xiaobaidashu/p/11733526.html