c++链表反转,输入1,2,3,4,5 输出5,4,3,2,1
时间: 2024-09-28 22:09:15 浏览: 61
在C++中,如果你有一个包含整数1、2、3、4、5的链表,并想将其反转后输出为5、4、3、2、1,你可以使用上面提到的`reverseList`函数。首先创建一个这样的链表,然后调用该函数进行反转。下面是一个完整的示例:
```cpp
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* reverseList(ListNode* head) {
// ... (上文已经提供链表反转的代码)
}
int main() {
// 创建原始链表:1 -> 2 -> 3 -> 4 -> 5
ListNode* nodes[] = {new ListNode(1), new ListNode(2), new ListNode(3), new ListNode(4), new ListNode(5)};
for (size_t i = 0; i < sizeof(nodes) / sizeof(nodes[0]); ++i) {
if (i > 0) {
nodes[i]- 1];
} else {
nodes[i]->next = nullptr;
}
}
// 反转链表
ListNode* reversedHead = reverseList(head);
// 输出反转后的链表
printLinkedList(reversedHead); // 假设printLinkedList是个辅助函数用于打印链表
return 0;
}
void printLinkedList(ListNode* node) {
while (node != nullptr) {
cout << node->val << " ";
node = node->next;
}
cout << endl;
}
```
运行此程序后,你会看到输出结果为5 4 3 2 1。
阅读全文