From 3c67ea5e07f3a3842a2d5e8af7bc26ebb6a36246 Mon Sep 17 00:00:00 2001 From: huangge1199 Date: Tue, 9 Feb 2021 10:50:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9B=E6=89=A3=EF=BC=9A82.=20=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=8E=92=E5=BA=8F=E9=93=BE=E8=A1=A8=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E5=85=83=E7=B4=A0=20II?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../study/t20210209/DeleteDuplicates.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 LeetCode/src/main/java/com/code/leet/study/t20210209/DeleteDuplicates.java diff --git a/LeetCode/src/main/java/com/code/leet/study/t20210209/DeleteDuplicates.java b/LeetCode/src/main/java/com/code/leet/study/t20210209/DeleteDuplicates.java new file mode 100644 index 0000000..8e743cf --- /dev/null +++ b/LeetCode/src/main/java/com/code/leet/study/t20210209/DeleteDuplicates.java @@ -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; + } +}