題目描述:
輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。
思路解析:
非遞迴方法:新建乙個listnode煉表頭節點pre,然後把原來的鍊錶從前到後摘下來,此時需要乙個next儲存後邊的節點。然後摘下來的head的下乙個節點設定成pre,迴圈直到head為null。
遞迴方法:
找到鍊錶的最後乙個節點,作為頭節點;
設定其下乙個節點為head;
設定head的下乙個節點為null;
**:
非遞迴方法:
public class listnode
}public class solution
while(head!=null)
return pre;
}}
遞迴方法:
public class solution
listnode pre=reverselist(head.next);
head.next.next=head;
head.next=null;
return pre;
}}
劍指offer 反轉鍊錶(Java)
題目 定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。思路 方法一 使用三個指標 l,cur,r 進行實現 cur為當前遍歷到的節點,l為cur的前乙個節點,r為cur的後乙個節點 令cur指向l,r則是用於防止鍊錶斷裂 注 當前節點從head開始 方法二 遞迴 找到最後乙個...
劍指offer 反轉鍊錶 Java版
public class test16 reverselist else node reverseheadnode reverselist head 輸出翻轉鍊錶 while reverseheadnode null private static node reverselist node head...
劍指offer 反轉鍊錶
輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。方法1 將單鏈表儲存為陣列,然後按照陣列的索引逆序進行反轉。方法2 使用三個指標遍歷單鏈表,逐個鏈結點進行反轉。方法3 從第2個節點到第n個節點,依次逐節點插入到第1個節點 head節點 之後,最後將第乙個節點挪到新錶的表尾。public class l...