实现线性链表逆置的思路
时间: 2023-06-20 19:09:26 浏览: 104
c++数据结构中链表的逆置
5星 · 资源好评率100%
要实现线性链表的逆置,可以按照以下思路:
1. 定义三个指针:prev、curr、next;
2. 将 prev 初始化为 NULL,curr 初始化为链表头结点;
3. 遍历链表,每次将 curr 的 next 指针指向 prev,然后依次移动 prev、curr、next 指针;
4. 遍历结束后,将链表的头结点指向 prev。
具体代码实现如下:
```c
void reverseList(ListNode **head) {
ListNode *prev = NULL;
ListNode *curr = *head;
ListNode *next = NULL;
while (curr != NULL) {
next = curr->next;
curr->next = prev;
prev = curr;
curr = next;
}
*head = prev;
}
```
这样就完成了链表逆置。
阅读全文