力扣:82. 删除排序链表中的重复元素 II

This commit is contained in:
huangge1199 2021-02-09 10:50:07 +08:00
parent 06f482fa3a
commit 3c67ea5e07

View File

@ -0,0 +1,41 @@
package com.code.leet.study.t20210209;
import com.code.leet.entiy.ListNode;
import org.omg.CORBA.FREE_MEM;
/**
* 给定一个排序链表删除所有重复的元素使得每个元素只出现一次
*/
public class DeleteDuplicates {
/**
* 82. 删除排序链表中的重复元素 II
*/
public ListNode deleteDuplicates(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode front = new ListNode(-1);
ListNode temp = front;
int same = head.val;
boolean flag = false;
while (head.next != null) {
if (head.val == head.next.val) {
head.next = head.next.next;
same = head.val;
flag = true;
} else if (flag && head.val == same) {
head = head.next;
} else {
temp.next = head;
temp = temp.next;
head = head.next;
}
}
if (head.val == same) {
temp.next = null;
} else {
temp.next = head;
}
return front.next;
}
}