根据提示,在右侧编辑器补充代码,正确地实现反转链表的函数 reverseList 。 ListNode* reverseList(ListNode* head) { ... } reverseList 函数接受一个链表的头指针作为参数,返回一个链表指针。返回的链表与传入的链表刚好是逆序的。 main 函数我们已经帮你写好。它的功能是将输入的一串数字构造为单链表,然后测试你书写的 reverseList 函数。
时间: 2024-02-13 10:03:15 浏览: 71
```c++
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* reverseList(ListNode* head) {
ListNode* prev = NULL;
ListNode* curr = head;
while (curr) {
ListNode* next = curr->next;
curr->next = prev;
prev = curr;
curr = next;
}
return prev;
}
int main() {
int n;
cin >> n;
ListNode* head = NULL;
ListNode* tail = NULL;
for (int i = 0; i < n; i++) {
int val;
cin >> val;
ListNode* node = new ListNode(val);
if (!head) {
head = node;
tail = node;
} else {
tail->next = node;
tail = node;
}
}
head = reverseList(head);
while (head) {
cout << head->val << " ";
head = head->next;
}
cout << endl;
return 0;
}
```
阅读全文