題目:輸入乙個鍊錶的頭結點,反轉該鍊錶,並返回反轉後鍊錶的頭結點。**如下:
#include<
iostream
>
using
namespace
std;
struct
node
};//
返回反向鍊錶的頭結點
node
*reserve(node
*head)
return
pre;
}int
main()
//正向遍歷鍊錶
node
*interator
=head;
while
(interator
!=null)
//將鍊錶反向
interator
=reserve(head);
while
(interator
!=null)
//堆區記憶體清理
while
(head
!=null)
return0;
}
面試題 反轉鍊錶
定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。鍊錶節點定義如下 struct listnode int m nkey listnode m pnext 思路 額,一路遍歷下去,前後指向反過來,最後乙個節點就輸出。o n 的效率也應該是最優的了。答案如下 listnode r...
面試題 反轉鍊錶
面試題 反轉鍊錶 思路 要實現鍊錶反轉,需要調整鍊錶中指標方向,使鍊錶反轉後的頭結點為原鍊錶的尾結點。為了防止結點斷裂,需定義三個指標,分別指向當前遍歷的結點,它的前一結點以及後乙個結點。當然編寫 時要考慮到下列三點 防止程式崩潰 將思路用 實現為 slistnode node phead 當前結點...
面試題 反轉鍊錶
定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。思考題 樣例輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null 這道題使用迭代的思想很容易思考,我們只需要準備三個指標,分別是上乙個節點prev 當前節點curr和curr的下乙個節點node 通過遍歷整個鍊...