劍指offer 7 反轉乙個鍊錶

2021-07-23 13:30:08 字數 399 閱讀 8082

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

struct listnode
很經典的問題,具體思路基本上所有同學都知道了,定義3個指標,分別指向當前結點前驅結點和後繼結點(防止反轉時結點發生斷裂),注意頭結點的處理。

牛客網ac**:

/*

struct listnode

};*/

class

solution

pnode->next = prev;

prev = pnode;

pnode = pnext;

}return reversedhead;

}};

劍指Offer 一 鍊錶反轉

例如 1 2 3 4 5 null 反轉之後 5 4 3 2 1 null 鍊錶通常會有乙個頭結點和乙個尾節點,頭結點沒有儲存值,只是起到指向下乙個的作用,尾節點有數值,但是指向的下乙個尾null,但是應該如何構建乙個標準的鍊錶呢?定義乙個結構體 struct listnode 建立鍊錶 listn...

劍指offer 反轉鍊錶

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

劍指offer 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。1.非遞迴 struct listnode class solution listnode ppre null listnode p phead listnode pnext null while p null else p pnext return p...