面試題 反轉鍊錶

2021-09-06 02:37:37 字數 613 閱讀 3364

題目:輸入乙個鍊錶的頭結點,反轉該鍊錶,並返回反轉後鍊錶的頭結點。**如下:

#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 通過遍歷整個鍊...