題目描述
【】給定乙個鍊錶,翻轉該鍊錶從m到n的位置。要求直接翻轉而非申請新空間。
【如】:給定1—>2—>3—>4—>5,m–2,n–4,返回1—>4—>3—>2—>5。
【】假定給出的引數滿足:1<=m<=n<=鍊錶長度。
時間複雜度為o(n);
以下為**
#include #include typedef struct _snode
snode;
snode *createsnode(int lenth)//有頭結點建立隨機鍊錶,形參p返回鍊錶長度
tail->next=null;
return head;
}void turnsnode(int begin,int end,snode *head)//鍊錶反轉
else
p=p->next;
i++; }}
void print_snode(snode *head)
printf("\n");
}int main(int argc,char*ar**)
鍊錶 92部分翻轉鍊錶
題目 反轉部分單向鍊錶 給定乙個單項鍊表的頭結點head,以及兩個整數from和to,在單項鍊表上把第from個節點到第to個節點這一部分進行反轉。例如 1 2 3 4 5 null,from 2,to 5 結果為1 4 3 2 5 null 再如 1 2 3 null,from 1,to 3 結果...
面試題 鍊錶的 部分 翻轉
2016年08月09日 21 43 37 問題 給出乙個單鏈表 不帶頭節點 和乙個數k,請翻轉此單鏈表?例如 1 2 3 4 5 k 0 翻轉過後 1 2 3 4 5 1 2 3 4 5 k 2 翻轉過後 2 1 4 3 5 1 2 3 4 5 k 10 翻轉過後 5 4 3 2 1 在討論鍊錶的 ...
鍊錶的翻轉
如何快速的實現鍊錶的翻轉,比如鍊錶a資料為 str1,str2,str3,str4,str5,str6 翻轉後則變為 str6,str5,str4,str3,str2,str1 針對上述問題我能想到的一種辦法就是以壓棧的方式來實現,其實現思路相對較為簡單,通過定義乙個鍊錶資料結構的資料棧,遍歷鍊錶,...