给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
输入: 1->1->2
输出: 1->2
示例 2:
输入: 1->1->2->3->3
输出: 1->2->3
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head == null || head.next == null){
return head;
}
ListNode dummy = new ListNode(0);
dummy.next = head;
//head和head.next比较,所以head.next不能为空 (1 2 2 当head = 第一个2 时,一次循环后head就指向空了,就不需要往后判断了)
while(head.next != null){
//如果当前元素和其后的元素值相等,就让当前元素指向其后面元素的下一个元素
if(head.val == head.next.val){
head.next = head.next.next;
}else{
//不相等就后移
head = head.next;
}
}
return dummy.next;
}
}