輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭

2021-08-29 22:53:27 字數 402 閱讀 2320

方法一:利用三個指標進行反轉

注:考慮鍊錶斷開問題

頭結點為null

有乙個頭結點

listnode* reverselist(listnode* phead) 

listnode *newphead=null;

listnode *node=phead;

listnode *pre=null;

listnode *net=null;

while(node!=0)

node->next=pre;

pre=node;

node=net;

}return newphead;

}

方法二:利用棧,將鍊錶存入棧,輸出

注意:要儲存頭指標

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭

可以採用迭代法 new 乙個值為null 的新鍊錶,然後new乙個臨時temp鍊錶,這個temp主要用來head.next 與head之間的替換 首先讓head.next指向為null的新鍊錶 反轉後head為鍊錶末尾,head的後面為null才對 然後讓新鍊錶指向head,這樣null的上家就變成...

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。

題目 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。分析 方法 1 更改next指標域法。當沒有節點或者只有乙個結點時,直接返回這個節點 否則至少有兩個節點時,用三個指標n1,n2,n3,n1指向第乙個節點,n2指向第二個節點,n3指向第三節點 可能為空 每次修改n2的next讓其指向n1,然後利用n...

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。

方法1 定義三個指標,整體右移,邊右移,邊翻轉,這樣保證不會斷鏈 listnode reverselist listnode phead 當只有兩個節點或當迴圈結束時,還剩最後乙個節點沒有翻轉 psecond next pfirst 翻轉 phead next nullptr 把原頭節點的next設...