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

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

個(gè)人記錄-LeetCode 86. Partition List

2019-11-11 01:55:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

問(wèn)題: Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.

You should PReserve the original relative order of the nodes in each of the two partitions.

For example, Given 1->4->3->2->5->2 and x = 3, return 1->2->2->4->3->5.

這個(gè)問(wèn)題的思路是:輪尋整個(gè)鏈表,將大于等于x的node移到另一個(gè)鏈表中。 然后,合并兩個(gè)鏈表即可。

代碼示例:

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode partition(ListNode head, int x) { //tmp用于輪尋原始鏈表 ListNode tmp = head; //prev用于記錄tmp之前的節(jié)點(diǎn) ListNode prev = null; //otherHead用于記錄另一個(gè)鏈表的頭節(jié)點(diǎn) ListNode otherHead = null; //other用于輪尋另一個(gè)鏈表 ListNode other = null; while (tmp != null) { //小于x的節(jié)點(diǎn)直接跳過(guò) while (tmp != null && tmp.val < x) { prev = tmp; tmp = tmp.next; } //否則將tmp從原始鏈表中移除 if (tmp != null) { if (prev != null) { prev.next = tmp.next; } else { head = tmp.next; } } //將tmp加入到另一個(gè)鏈表中 if (other == null) { otherHead = tmp; other = tmp; } else { other.next = tmp; other = other.next; } //繼續(xù)移動(dòng)tmp if (tmp != null) { tmp = tmp.next; } } //合并兩個(gè)鏈表 if (prev != null) { prev.next = otherHead; } else { //這里是原始鏈表中,所有的值都大于等于x的情況 head = otherHead; } return head; }}
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 哈尔滨市| 石棉县| 龙里县| 陇南市| 丽水市| 武清区| 绵阳市| 台江县| 门头沟区| 抚顺市| 朝阳区| 东至县| 平凉市| 乌兰浩特市| 新蔡县| 团风县| 什邡市| 平定县| 唐海县| 边坝县| 平罗县| 新安县| 健康| 防城港市| 定陶县| 西乌珠穆沁旗| 松原市| 仙桃市| 信阳市| 大理市| 吴江市| 星座| 江源县| 那曲县| 许昌市| 北宁市| 西平县| 广昌县| 定安县| 阳谷县| 申扎县|