单链表逆置代码
时间: 2023-07-02 09:23:27 浏览: 137
单链表的逆置代码实现.txt
以下是单链表逆置的代码,希望能够帮到您:
```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 != NULL) {
ListNode* nextTemp = curr->next;
curr->next = prev;
prev = curr;
curr = nextTemp;
}
return prev;
}
// 定义测试函数
void test() {
ListNode* head = new ListNode(1);
head->next = new ListNode(2);
head->next->next = new ListNode(3);
head->next->next->next = new ListNode(4);
head->next->next->next->next = new ListNode(5);
ListNode* newHead = reverseList(head);
while (newHead != NULL) {
cout << newHead->val << " ";
newHead = newHead->next;
}
}
// 主函数
int main() {
test();
return 0;
}
```
注:以上代码是使用 C++ 编写的。
阅读全文