国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

148. Sort List

2019-11-08 03:20:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

如何求列表的sort?就是用歸并排序,好好學(xué)習(xí)這個(gè)方法,遞歸先求中點(diǎn),然后求前面的sort,之后求后面的sort,最后merge!

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* merge(ListNode* h1, ListNode* h2){ ListNode* hn = new ListNode(INT_MIN); ListNode* c = hn; while(h1 != NULL && h2 != NULL){ if(h1 -> val < h2 -> val){ c -> next = h1; h1 = h1 -> next; } else{ c -> next = h2; h2 = h2 -> next; } c = c -> next; } if(h1 != NULL) c -> next = h1; if(h2 != NULL) c -> next = h2; return hn -> next; } ListNode* sortList(ListNode* head) { if(head == NULL || head -> next == NULL) return head; ListNode* f = head -> next -> next; ListNode* p = head; while(f != NULL && f -> next != NULL){ p = p -> next; f = f -> next -> next; } ListNode* h = sortList(p -> next); p -> next = NULL; return merge(sortList(head), h); }};
上一篇:149. Max Points on a Line

下一篇:146. LRU Cache

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 措勤县| 冕宁县| 都兰县| 平昌县| 龙泉市| 长治县| 陆河县| 高密市| 屏山县| 永靖县| 余庆县| 确山县| 讷河市| 宁强县| 三原县| 梁平县| 朔州市| 习水县| 丹江口市| 西藏| 岳阳县| 阜南县| 万源市| 柳河县| 扬中市| 东辽县| 南皮县| 井陉县| 永嘉县| 三门县| 额济纳旗| 云林县| 财经| 化隆| 安岳县| 正阳县| 姚安县| 武清区| 礼泉县| 轮台县| 弋阳县|