#include <iostream>
// 定义单链表节点结构
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(nullptr) {}
};
// 逆序单链表函数
ListNode* reverseList(ListNode* head) {
ListNode* prev = nullptr;
ListNode* curr = head;
while (curr != nullptr) {
ListNode* nextTemp = curr->next;
curr->next = prev;
prev = curr;
curr = nextTemp;
}
return prev;
}
// 测试函数
int main() {
// 创建单链表
ListNode* head = new ListNode(1);
head->next = new ListNode(2);
head->next->next = new ListNode(3);
// 调用逆序函数
ListNode* newHead = reverseList(head);
// 输出逆序后的单链表
while (newHead != nullptr) {
std::cout << newHead->val << " ";
newHead = newHead->next;
}
return 0;
}
用c++自定义一个单链表数据结构,并实现一个函数,该函数传入一个单链表的头结点,函数需要将单链表元素逆序,输出新的头结点
于 2024-01-05 14:46:36 首次发布