第21297题
下列C++实现单链表反转的代码存在错误,需进行哪项修改可正确实现功能?
ListNode* reverseLinkedList(ListNode* head) {
  ListNode* prev = nullptr;
  ListNode* current = head;
  while (current != nullptr) {
    ListNode* next = current->next;
    current->next = next;
    prev = current;
    current = next;
  }
  return prev;
}
A

current->next = next; 应该改为 current->next = prev;

B

ListNode next = current->next; 应该改为 ListNode next = prev->next;

C

current != nullptr 应该改为 current->next != nullptr

D

ListNode prev = nullptr; 应该改为 ListNode prev = head;