
【Lintcode】96. Partition List
发布日期:2021-05-03 18:44:36
浏览次数:19
分类:精选文章
本文共 1013 字,大约阅读时间需要 3 分钟。
题目地址:
给定一个链表,再给定一个数 x x x,要求按原链表的顺序,重排链表使得小于 x x x的节点放在大于等于 x x x的节点之前。
思路是先将整个链表按照与 x x x的大小关系分成两部分,然后再接起来即可。代码如下:
public class Solution { /** * @param head: The first node of linked list * @param x: An integer * @return: A ListNode */ public ListNode partition(ListNode head, int x) { // write your code here ListNode l1 = new ListNode(0), l2 = new ListNode(0); ListNode prev1 = l1, prev2 = l2; while (head != null) { // 如果当前节点小于x则接在prev1后面,否则接在prev2后面 if (head.val < x) { prev1.next = head; prev1 = prev1.next; } else { prev2.next = head; prev2 = prev2.next; } head = head.next; } prev1.next = prev2.next = null; prev1.next = l2.next; return l1.next; }}class ListNode { int val; ListNode next; ListNode(int x) { val = x; }}
时间复杂度 O ( n ) O(n) O(n),空间 O ( 1 ) O(1) O(1)。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年03月20日 03时31分18秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
《ODAY安全:软件漏洞分析技术》学习心得-----shellcode的一点小小的思考
2019-03-05
WMI攻击技术研究
2019-03-05
Decision tree(决策树)算法初探
2019-03-05
《Unity3D/2D游戏开发从0到1(第二版本)》 书稿完结总结
2019-03-05
sctf_2019_easy_heap
2019-03-06
Eclipse 创建 Maven 项目
2019-03-06
input[file]标签的accept=”image/*”属性响应很慢的解决办法
2019-03-06
AT 杂题泛做
2019-03-06
StringBuilder拼接字符串,“,”在前还是在后问题
2019-03-06
给asterisk1.8.7添加menuselct选项
2019-03-06
组合模式
2019-03-06
php调用java类文件
2019-03-06
PyQt5之音乐播放器
2019-03-06