博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode: Partition List
阅读量:5080 次
发布时间:2019-06-13

本文共 1024 字,大约阅读时间需要 3 分钟。

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.

分析:可以将小于x的node放在一个链表中,大于等于x的node放在另一个链表中,然后将两个链表首尾相连。

class Solution {public:    ListNode *partition(ListNode *head, int x) {        if(head == NULL) return head;                ListNode *shead = new ListNode(-1);        ListNode *bhead = new ListNode(-1);                ListNode *ps = shead, *pb = bhead;        while(head){            ListNode *tmp = head;            head = head->next;            tmp->next = NULL;            if(tmp->val < x){                ps->next = tmp;                ps = ps->next;            }else{                pb->next = tmp;                pb = pb->next;            }        }        ps->next = bhead->next;                return shead->next;    }};

 

转载于:https://www.cnblogs.com/Kai-Xing/p/4109027.html

你可能感兴趣的文章
数据中心虚拟化技术
查看>>
复习文件操作
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
list 容器 排序函数.xml
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
django Models 常用的字段和参数
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>