劍指offer JZ15反轉鍊錶

2021-10-08 16:58:27 字數 472 閱讀 9108

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 32m,其他語言64m

熱度指數:824838

本題知識點: 鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。

/*function listnode(x)*/

function

reverselist

(phead)

let head = phead;

let next;

let pre;

//head是當前結點,如果當前結點不為null則進入迴圈

while

(head !=

null

)//當head為空,pre就是最後乙個結點,此時鍊錶已反轉完畢,pre即反轉後的第乙個結點

return pre;

}

劍指offer JZ15 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。非常基礎的鍊錶題,幾乎所有學習鍊錶的程式設計師都會在一開始學習這個演算法。唯一需要注意的是,當while迴圈結束時 也即是curnode到達了鍊錶尾 此時curnode.next並沒有被指向lastnode,需要在後面加上。class solution 返...

劍指offer JZ15 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。思路 1.利用乙個棧,注意反轉後的最後乙個元素需要把它的next置為空,否則會無限迴圈 struct listnode class solution listnode p phead listnode temp null while note.empty ...

劍指offer JZ15反轉鍊錶

題目描述 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。演算法思想 因為是將鍊錶進行反轉,因此主要的方法是先定義乙個頭結點,然後將不斷新建節點,將原鍊錶節點從前往後依次遍歷,取出每乙個節點的值,然後依次斷開新建節點與後面節點的連線,並將後面的鍊錶的頭結點儲存在乙個臨時變數中,這時將從原煉表中取出的節點...