你的代码中存在一个问题:在反转链表时,没有更新tmp指针,导致进入了无限循环。另外,在返回结果时,应该返回newList->next而不是newList本身。
以下是修正后的代码:
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode* newList = nullptr;
ListNode* tmp = head;
while (tmp != nullptr) {
ListNode* node = new ListNode(tmp->val);
node->next = newList;
newList = node;
tmp = tmp->next;
}
return newList;
}
};
修正后的代码会正确地反转给定链表,并返回反转后的头节点。
内容由零声教学AI助手提供,问题来源于学员提问




