/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int val=0, ListNode next=null) { * this.val = val; * this.next = next; * } * } */ public class Solution { private int Count(ListNode node) { var count = 0; for (; node != null; node = node.next) { ++count; } return count; } public ListNode DeleteMiddle(ListNode head) { if (head == null) { return null; } var count = Count(head); if (count == 1) { return null; } var mid = count >> 1; var node = head; for (var i = 0; i < mid - 1; ++i) { node = node.next; } node.next = node.next.next; return head; } }