反轉鍊錶Java

2021-07-10 07:45:07 字數 519 閱讀 6522

題目:定義乙個鍊錶,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。

思路:反轉鍊錶時,為了保證鍊錶不斷開,需要儲存三個引用,指向前一結點的引用,當前結點的引用,指向後一結點的引用。

//反轉鍊錶

public static listnode reverselist(listnode head)

return reversehead;

}

遞迴寫法:

/*

* 遞迴實現反轉鍊錶

*/public static listnode reverselistrecursive(listnode head)

/*** 遞迴二

* @param current

* @return

*/public static listnode reverse(listnode current)

遞迴返回後繼續執行下面的**

Java反轉鍊錶

需要記錄原煉表中三個連續的結點 reverse first second。在每輪迭代中,從原煉表中提取結點first並將它插入到逆鍊錶的開頭。同時需要一直保持first指向原煉表中所有剩餘結點的首節點,second指向原煉表中所有剩餘結點的第二個結點,reverse指向結果鍊錶中的首結點。publi...

java之鍊錶反轉

題目 定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後的頭節點,鍊錶的定義如下 class lnode public lnode int value public lnode int value,lnode next 反轉的 package linklist public class re...

java實現鍊錶反轉

完整 及詳細的注釋如下 package com.dhasa.test company dhasa author dl public class linkedlistdemo class linkedlist public void sethead node head 內部類node author d...