常見算法題:逆置單鏈表

思路:使用頭插法建立單鏈表,每插入一個節點都插在頭結點之後,先使頭結點指向NULL,再將剩餘結點使用頭插法建表,即可實現單鏈表逆置。

代碼:
設目標單鏈表L,結點爲int類型

void Reverse(LinkList &L)
{
    int *p = L.head->next,*q;
    L.head->next = NULL;
    while(p!=NULL)
    {
        q = p->next;
        p->next = L.head->next;
        L.head->next = p;
        p = q; 
    }
}

該算法的時間複雜度爲O(n),空間複雜度爲O(1)。

發佈了116 篇原創文章 · 獲贊 49 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章