程序员面试系列——单链表的反转
生活随笔
收集整理的這篇文章主要介紹了
程序员面试系列——单链表的反转
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
單向鏈表的反轉(zhuǎn)(或者叫逆置)是經(jīng)常被問(wèn)到的考題。建議考前臨陣磨槍,強(qiáng)背一波。
代碼說(shuō)明:
void reverse_list(node_t *head)此函數(shù)實(shí)現(xiàn)帶頭結(jié)點(diǎn)(也叫表頭、啞結(jié)點(diǎn))的單鏈表的反轉(zhuǎn)。
head是頭結(jié)點(diǎn)的地址。
示意圖如下:
|head |—>| 1st node|—>|2nd node|—>|… |—>NULL
struct node {int data;struct node *next; };typedef struct node node_t;void reverse_list(node_t *head) {if((head->next==NULL) || (head->next->next==NULL))return;node_t *p1;node_t *p2;node_t *p3;p1 = head->next;p2 = p1->next;while(p2){p3 = p2->next;p2->next = p1;p1 = p2;p2 = p3;}head->next->next = NULL;head->next = p1; }測(cè)試代碼略。
總結(jié)
以上是生活随笔為你收集整理的程序员面试系列——单链表的反转的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: matlab 复合辛普森公式,复合梯形和
- 下一篇: 程序员面试系列——约瑟夫环