使用就地法逆置实现链表逆置C语言的步骤
时间: 2023-02-21 19:16:21 浏览: 125
homework_2.22,链表c语言源码,c语言
使用就地法逆置链表的步骤如下:
1. 初始化三个指针:prev, curr, next。其中prev指向NULL,curr指向链表头,next指向curr的下一个节点。
2. 重复执行以下步骤直到curr指向NULL:
a. 将next指针的值赋给curr的next指针。
b. 将curr指针的值赋给prev指针。
c. 将next指针的值赋给curr指针。
3. 将prev指针的值赋给链表头指针,以完成链表逆置。
示例代码:
```
struct node {
int data;
struct node *next;
};
struct node* reverseList(struct node *head) {
struct node *prev = NULL;
struct node *curr = head;
struct node *next = NULL;
while (curr != NULL) {
next = curr->next;
curr->next = prev;
prev = curr;
curr = next;
}
return prev;
}
```
阅读全文