.试写出一个采用单链表存储的线性表A(A带表头结点 Head)的数据元素逆置的算法。
时间: 2023-04-11 12:02:00 AIGC 浏览: 146
可以使用三个指针,分别指向当前节点、前一个节点和后一个节点,依次遍历链表并将当前节点的 next 指针指向前一个节点,然后将三个指针向后移动一个节点,直到遍历完整个链表。具体实现如下:
void reverseList(ListNode* head) {
if (head == NULL || head->next == NULL) {
return;
}
ListNode* prev = NULL;
ListNode* curr = head->next;
ListNode* next = NULL;
while (curr != NULL) {
next = curr->next;
curr->next = prev;
prev = curr;
curr = next;
}
head->next = prev;
}
阅读全文
相关推荐














