劍指offer 反轉鍊錶 Java版

2021-07-30 01:30:44 字數 639 閱讀 3922

public class test16_reverselist

else

} node reverseheadnode = reverselist(head);

//輸出翻轉鍊錶

while(reverseheadnode != null) }

private static node reverselist(node head)

/*//只有乙個節點 已包含在下面情況

if(head.next == null)*/

node reversehead = null;

node prenode = null;

node pnode = head;

while(null != pnode)

//將前繼節點賦給當前節點的下乙個

pnode.next = prenode;

//將當前節點作為前繼節點 將後繼節點作為當前節點 為下乙個迴圈做準備

prenode = pnode;

pnode = nextnode;

} system.out.println(reversehead.value);

return reversehead;

}}

劍指offer 反轉鍊錶 java

題目描述 輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。思路解析 非遞迴方法 新建乙個listnode煉表頭節點pre,然後把原來的鍊錶從前到後摘下來,此時需要乙個next儲存後邊的節點。然後摘下來的head的下乙個節點設定成pre,迴圈直到head為null。遞迴方法 找到鍊錶的最後乙個節點,作為...

劍指offer 反轉鍊錶(Java)

題目 定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。思路 方法一 使用三個指標 l,cur,r 進行實現 cur為當前遍歷到的節點,l為cur的前乙個節點,r為cur的後乙個節點 令cur指向l,r則是用於防止鍊錶斷裂 注 當前節點從head開始 方法二 遞迴 找到最後乙個...

劍指offer 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。方法1 將單鏈表儲存為陣列,然後按照陣列的索引逆序進行反轉。方法2 使用三個指標遍歷單鏈表,逐個鏈結點進行反轉。方法3 從第2個節點到第n個節點,依次逐節點插入到第1個節點 head節點 之後,最後將第乙個節點挪到新錶的表尾。public class l...