亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C++雙向鏈表實現奇數位置上的反轉,具體描述如下

C++雙向鏈表實現奇數位置上的反轉,具體描述如下

C++
心有法竹 2018-11-11 13:13:58
反轉一個雙向鏈表中奇數位置上的數。如一個雙向鏈表為1<->2<->3<->4<->5<->6,反轉之后為5<->2<->3<->4<->1<->6。也就是把第一位,第三位,第五位反轉問題補充:我說的那個123456只是一個例子,要一個對任意長度都適用的方法?。ㄓ袥]有只掃描一遍的方法,各種方法都歡迎,考慮到復雜度的更好?。。?
查看完整描述

2 回答

?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

只掃描一遍不太可能。提供一個思路

兩個指針,一個指向表頭,一個指向表尾,同時向中間遍歷,并交換奇數位上的元素,直到兩個指針相遇。


查看完整回答
反對 回復 2018-11-15
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

和字符串反轉類似,兩個指針向內靠攏,對于小數據來說交換其 data 值即可(整個鏈表的所有指針不需要變動),當然也可以交換指針,線性時間復雜度:O(N)。


查看完整回答
反對 回復 2018-11-15
  • 2 回答
  • 0 關注
  • 892 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號