class Solution public ListNode deleteMiddleListNode head if head == nullptr head-next == nullptr return nullptr; 头节点为空或只有一个节点时返回空指针 ListNode p = head;
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;
} }
原文地址: https://www.cveoy.top/t/topic/iARt 著作权归作者所有。请勿转载和采集!