鍊錶部分翻轉

2021-09-11 01:25:52 字數 570 閱讀 1021

題目描述

【】給定乙個鍊錶,翻轉該鍊錶從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 針對上述問題我能想到的一種辦法就是以壓棧的方式來實現,其實現思路相對較為簡單,通過定義乙個鍊錶資料結構的資料棧,遍歷鍊錶,...