五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

206.反轉(zhuǎn)鏈表

2023-03-26 11:07 作者:薄荷硬糖醬  | 我要投稿

題目:

206. 反轉(zhuǎn)鏈表

難度簡(jiǎn)單3050

給你單鏈表的頭節(jié)點(diǎn)?head?,請(qǐng)你反轉(zhuǎn)鏈表,并返回反轉(zhuǎn)后的鏈表。

?

示例 1:

輸入:head = [1,2,3,4,5]輸出:[5,4,3,2,1]

示例 2:

輸入:head = [1,2]輸出:[2,1]

示例 3:

輸入:head = []輸出:[]

?

提示:

  • 鏈表中節(jié)點(diǎn)的數(shù)目范圍是?[0, 5000]

  • -5000 <= Node.val <= 5000

?

進(jìn)階:鏈表可以選用迭代或遞歸方式完成反轉(zhuǎn)。你能否用兩種方法解決這道題?

第一種對(duì)法:

/**

?*?Definition?for?singly-linked?list.

?*?struct?ListNode?{

?*?????int?val;

?*?????struct?ListNode?*next;

?*?};

?*/


struct?ListNode*?reverse(struct?ListNode*?cur,struct?ListNode*?pre){

????if(cur==NULL)return?pre;

????struct?ListNode?*tmp?=?cur->next;

????cur->next?=?pre;

????return?reverse(tmp,cur);

}

struct?ListNode*?reverseList(struct?ListNode*?head){

????return?reverse(head,NULL);

}

遞歸寫法,最后記得return

第二種對(duì)法:

/**

?*?Definition?for?singly-linked?list.

?*?struct?ListNode?{

?*?????int?val;

?*?????struct?ListNode?*next;

?*?};

?*/


struct?ListNode*?reverseList(struct?ListNode*?head){

????struct?ListNode?*tmp;

????struct?ListNode?*cur;

????struct?ListNode?*pre;

????cur?=?head,pre=?NULL;

????while(cur){

????????tmp?=?cur->next;

????????cur->next?=?pre;

????????pre?=?cur;

????????cur?=?tmp;

????}

????return?pre;

}


迭代寫法,先把cur的next保存下來,避免斷鏈


第三種對(duì)法:

struct?ListNode*?reverseList(struct?ListNode*?head){

????struct?ListNode?*p?=?(struct?ListNode*)malloc(sizeof(struct?ListNode));

????p->next?=?NULL;

????struct?ListNode?*cur?=?head;

????while(head){

????????cur?=?head->next;

????????head->next?=?p->next;

????????p->next?=?head;

????????head?=?cur;

????}

????return?p->next;

}


頭插法;

206.反轉(zhuǎn)鏈表的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
望江县| 广水市| 东阳市| 德安县| 长汀县| 望都县| 普洱| 乐都县| 景洪市| 凤山县| 如东县| 文化| 台东县| 珠海市| 郸城县| 晋城| 六盘水市| 南汇区| 宜宾县| 陵川县| 浪卡子县| 绍兴市| 鄢陵县| 南溪县| 台江县| 周至县| 长海县| 潜山县| 当雄县| 榆林市| 三都| 商南县| 长宁县| 普洱| 望江县| 冷水江市| 和龙市| 阜阳市| 永春县| 财经| 阿勒泰市|