国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

LeetCodeTop100_148. 排序鏈表

2023-03-30 11:15 作者:方貓zzz  | 我要投稿

給你鏈表的頭結(jié)點(diǎn)?head?,請(qǐng)將其按?升序?排列并返回?排序后的鏈表?。

    ?

    示例 1:

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

    示例 2:

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

    示例 3:

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


    其主要思路是使用歸并排序的方法,將鏈表分成左右兩個(gè)部分,對(duì)每個(gè)部分進(jìn)行排序后再進(jìn)行合并。

    具體來(lái)說(shuō),sortList函數(shù)就是對(duì)整個(gè)鏈表進(jìn)行排序的函數(shù),它調(diào)用了mergeSort函數(shù)對(duì)鏈表進(jìn)行歸并排序。如果鏈表為空或者只有一個(gè)節(jié)點(diǎn),那么就可以直接返回鏈表本身。

    mergeSort函數(shù)使用快慢指針的方法找到鏈表的中間節(jié)點(diǎn),然后將鏈表分成左右兩個(gè)部分,對(duì)每個(gè)部分分別調(diào)用mergeSort函數(shù)進(jìn)行排序,然后再調(diào)用mergeList函數(shù)進(jìn)行合并。注意,在分割鏈表時(shí),要將中間節(jié)點(diǎn)的next指針設(shè)置為nullptr,否則會(huì)出現(xiàn)環(huán)形鏈表。

    mergeList函數(shù)就是將左右兩個(gè)已經(jīng)排好序的鏈表合并成一個(gè)有序鏈表。為了方便操作,使用了一個(gè)虛擬頭節(jié)點(diǎn)dummy,然后再遍歷左右兩個(gè)鏈表,根據(jù)節(jié)點(diǎn)值的大小關(guān)系將節(jié)點(diǎn)插入到新的鏈表中。最后要注意,當(dāng)某一個(gè)鏈表已經(jīng)遍歷完時(shí),要將另一個(gè)鏈表的剩余節(jié)點(diǎn)全部插入到新的鏈表中。

    總之,這段代碼實(shí)現(xiàn)了對(duì)鏈表進(jìn)行排序的功能,采用了歸并排序的方法,是一個(gè)比較高效的算法。




    LeetCodeTop100_148. 排序鏈表的評(píng)論 (共 條)

    分享到微博請(qǐng)遵守國(guó)家法律
    海阳市| 阜新市| 阿合奇县| 道孚县| 佛教| 来宾市| 中西区| 通榆县| 镇原县| 南岸区| 旬邑县| 宁明县| 时尚| 宿迁市| 济阳县| 石狮市| 伊宁市| 乌海市| 贵溪市| 股票| 阿拉尔市| 怀柔区| 泰顺县| 安阳县| 衡南县| 通山县| 平邑县| 双桥区| 河池市| 灵川县| 临夏县| 肇源县| 阜城县| 辛集市| 白城市| 临安市| 卢龙县| 丹凤县| 昭觉县| 株洲县| 建瓯市|