鍊錶常用技巧 鍊錶逆序 鍊錶中點

2022-04-10 12:22:33 字數 643 閱讀 8061

給定乙個鍊錶,一般的逆序的方法要設定三個指標,這種操作很繁瑣,下面總結一種簡單的方法:

為鍊錶設定乙個頭結點,然後head後面的節點依次的插入到head結點之前。最後完成鍊錶的逆序。

**實現:

listnode* reverselist(listnode* head) 

//while

return dummy.next;

}

查詢鍊錶的中點,使用的方法就是快慢指標。但是要注意結點總數為奇數個或者結點總數為偶數個的時候,中點結點指標停止的位置不同。

**實現:

listnode *fast = head;

listnode *low = head;

//利用快慢指標找到鍊錶的中點

while(fast != null && fast->next != null)

//注意鍊錶結點的個數奇數還是偶數

//偶數結點個數,low指向後半部分的第乙個

//奇數結點個數,low指向越過對稱中心結點,指向後半部分的第乙個結點

if(fast != null)

(鍊錶構建)鍊錶逆序

一直煉表頭結點指標head,將鍊錶逆序。不可申請額外空間 include using namespace std struct listnode int main 實際最終執行的 include using namespace std struct listnode 這個建構函式有點沒看懂,是一種什...

題目 從煉表中點反轉鍊錶

題目 對於鍊錶list,從中點開始進行反轉鍊錶的後半部分,對於奇數個數的鍊錶,從 n 1 2開始反轉,對於偶數個數的鍊錶,從n 2 1開始反轉。分析 注意的是這個題目不同於倒序列印鍊錶,所以先考慮整個反轉鍊錶的問題。要定義三個節點,ppre,pnext,pnode,記錄每乙個節點的pre和next。...

C Python 鍊錶逆序 反轉鍊錶

已知煉表頭節點指標head,將鍊錶逆序。不可申請額外空間 include struct listnode 建構函式 class solution solution listnode reverselist listnode head return new head 返回新煉表頭節點 method 2...