class Solution { ListNode deleteMiddle(ListNode head) { if (head == null || head.next == null) { return null; // 头节点为空或只有一个节点时返回空指针 }

ListNode p = head;
ListNode q = head;
ListNode prev = null;

while (q != null && q.next != null) {
  prev = p;
  p = p.next;
  q = q.next.next;
}

if (prev != null) {
  prev.next = p.next;
} else {
  head = head.next;  // 头节点为要删除的节点时更新头节点
}

p = null;

return head;

} }

class Solution public ListNode deleteMiddleListNode head if head == nullptr head-next == nullptr return nullptr; 头节点为空或只有一个节点时返回空指针 ListNode p = head;

原文地址: https://www.cveoy.top/t/topic/iARt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录