方法1:定義三個指標,整體右移,邊右移,邊翻轉,這樣保證不會斷鏈
listnode* reverselist(listnode* phead)
//當只有兩個節點或當迴圈結束時,還剩最後乙個節點沒有翻轉
psecond->next=pfirst;//翻轉
phead->next=nullptr;//把原頭節點的next設定為空指標
phead= psecond;//改變新鍊錶的頭節點
return phead;
}
方法2:定義乙個新鍊錶,採用頭插的思想進行翻轉
listnode* reverselist(listnode* phead)
return newhead;
}
listnode* reverselist(listnode* phead)
輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭
方法一 利用三個指標進行反轉 注 考慮鍊錶斷開問題 頭結點為null 有乙個頭結點 listnode reverselist listnode phead listnode newphead null listnode node phead listnode pre null listnode ne...
輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭
可以採用迭代法 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...