最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

24. 兩兩交換鏈表中的節(jié)點(diǎn)(遞歸版)

2023-04-02 14:46 作者:薄荷硬糖醬  | 我要投稿

24. 兩兩交換鏈表中的節(jié)點(diǎn)

難度中等1780

給你一個(gè)鏈表,兩兩交換其中相鄰的節(jié)點(diǎn),并返回交換后鏈表的頭節(jié)點(diǎn)。你必須在不修改節(jié)點(diǎn)內(nèi)部的值的情況下完成本題(即,只能進(jìn)行節(jié)點(diǎn)交換)。

?

示例 1:

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

示例 2:

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

示例 3:

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

?

提示:

  • 鏈表中節(jié)點(diǎn)的數(shù)目在范圍?[0, 100]?內(nèi)

  • 0 <= Node.val <= 100

/**

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

?*?struct?ListNode?{

?*?????int?val;

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

?*?};

?*/


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

???if(head==NULL||head->next==NULL)return?head;

???struct?ListNode*?second=head->next;

????head->next?=?swapPairs(second->next);

????second->next?=?head;

???return?second;

}

遞歸思路:

  1. 想清楚要循環(huán)執(zhí)行的代碼:需要循環(huán)執(zhí)行的是讓后一個(gè)指向前一個(gè),前一個(gè)指向的是下一組需要調(diào)換的結(jié)點(diǎn)的看后面一個(gè)。

  2. 想清楚要返回的數(shù)據(jù):需要返回每組結(jié)點(diǎn)的后一個(gè),因?yàn)槊恳唤M結(jié)點(diǎn)的前一個(gè)是要每次都是要指向下一組結(jié)點(diǎn)的后一個(gè)的

  3. 想清楚結(jié)束的條件:當(dāng)節(jié)點(diǎn)數(shù)是雙數(shù)時(shí),當(dāng)頭節(jié)點(diǎn)為NULL時(shí)返回當(dāng)前頭節(jié)點(diǎn)(NULL),當(dāng)頭節(jié)點(diǎn)為單數(shù)時(shí),當(dāng)頭節(jié)點(diǎn)的下一個(gè)為NULL時(shí)返回當(dāng)前頭節(jié)點(diǎn)。


24. 兩兩交換鏈表中的節(jié)點(diǎn)(遞歸版)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
社会| 海兴县| 左贡县| 宜川县| 离岛区| 道真| 桓仁| 遂宁市| 海丰县| 泗阳县| 阜康市| 正宁县| 古蔺县| 甘洛县| 武城县| 上虞市| 翼城县| 宁安市| 张家口市| 岳西县| 偏关县| 台南市| 双柏县| 军事| 海伦市| 额尔古纳市| 芷江| 安塞县| 长丰县| 元氏县| 金堂县| 通化市| 澄江县| 嵊州市| 明溪县| 元谋县| 水富县| 恩施市| 英超| 武夷山市| 凯里市|