Problem 10
ListNode deleteMiddle(ListNode head) {
if (head == null) {
return null;
}
ListNode dummy = new ListNode();
dummy.next = head;
ListNode prev = dummy;
ListNode slow = head;
ListNode fast = head;
while (fast != null || fast.next != null) {
slow = slow.next;
prev = prev.next;
fast = fast.next.next;
}
prev.next = slow.next;
return dummy.next;
}
Last updated