Delete middle of the linked list
Do it
Solution:
Time: O(n)
/**
* Definition for singly-linked list.
* class ListNode {
* public int val;
* public ListNode next;
* ListNode(int x) { val = x; next = null; }
* }
*/
public class Solution {
public ListNode solve(ListNode A) {
ListNode slow = A;
ListNode fast = A;
while (fast != null && fast.next != null) {
ListNode prev = slow;
slow = slow.next;
fast = fast.next.next;
if (fast == null || fast.next == null) {
prev.next = slow.next;
}
}
return A;
}
}