题目描述
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2
, return 1->2
.
Given 1->1->2->3->3
, return 1->2->3
.
解题思路
此题思路和Remove Duplicates from Sorted Array类似,只需一遍遍历,同时使用lastNode来记录上一个不重复的节点即可。
代码
public ListNode deleteDuplicates(ListNode head) {
if(head==null || head.next==null){
return head;
}
ListNode node = head.next;
ListNode lastNode = head;
while(node!=null){
while(node!=null && node.val == lastNode.val){
lastNode.next = node.next;
node = node.next;
}
if(node!=null){
lastNode = node;
node = node.next;
}
}
return head;
}