你的代码逻辑有一些问题。下面是修正后的代码示例:
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助手提供,问题来源于学员提问




