下面反转单链表的代码片段,应进行( )修改才能正确:
ListNode* reverseLinkedList(ListNode* head) {
ListNode* prev = nullptr, *current = head;
while (current != nullptr) {
ListNode* next = current->next;
current->next = next; // 应改为 current->next = prev;
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;
正确答案:A