1. 程式人生 > >Data Structures and Algorithms (English)

Data Structures and Algorithms (English)

題目大意:略。

解題思路:注意:引數傳進來的 L,和 return L,都是有帶頭節點的。

AC 程式碼

// 從頭節點下一個節點,和再下一個節點開始,把它們的箭頭指向反一下即可,最後到了末尾再把原來的尾巴指向頭即可

List Reverse( List L )
{
    if(!L || !(L->Next) || !(L->Next->Next)) return L;
    PtrToNode nd, p=L->Next->Next, nx=L->Next;
    nx->Next=NULL; // 為return時候的末尾為NULL,否則會TLE
    while(p)
    {
        nd=p->Next; // 暫時儲存,下面會用到
        p->Next=nx; 
        nx=p;
        p=nd;
    }
    L->Next=nx;

    return L;
}