如何在不创建新结点的情况下逆转一个已知链表?
只用写出逆转链表的函数。
1条回答 默认 最新
- qzjhjxj 2021-11-29 19:25关注
供参考:
//就地逆置 -- 不带头结点的链表 -- 引用 void reverse(SingleLinkedList * & head) { SingleLinkedList* p=NULL, * q=NULL; p = head->next; head->next = NULL; while (p) { q = p; p = p->next; q->next = head; head = q; } } //就地逆置 -- 带头结点的链表 void reverse(SingleLinkedList * head) { SingleLinkedList* p=NULL, * q=NULL; p = head->next; head->next = NULL; while (p) { q = p; p = p->next; q->next = head->next; head->next = q; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 1