LeetCode OJ:Partition List(分割链表)
2015-11-29 22:35
344 查看
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
return
将链表分割成两部分,大于某个数字的在左侧,小于等于某个数字的在右侧,用的方法比较蠢可能就是遍历一次分成两个链表,然后再将它们接起来。具体代码如下所示:
You should preserve the original relative order of the nodes in each of the two partitions.
For example,
Given
1->4->3->2->5->2and x = 3,
return
1->2->2->4->3->5.
将链表分割成两部分,大于某个数字的在左侧,小于等于某个数字的在右侧,用的方法比较蠢可能就是遍历一次分成两个链表,然后再将它们接起来。具体代码如下所示:
class Solution { public: ListNode* partition(ListNode* head, int x) { ListNode * helper1 = new ListNode(INT_MIN); ListNode * helper2 = new ListNode(INT_MIN); ListNode * p1 = helper1; ListNode * p2 = helper2; while(head){ if(head->val < x){ p1->next = head; head = head->next; p1 = p1->next; p1->next = NULL; }else{ p2->next = head; head = head->next; p2 = p2->next; p2->next = NULL; } } p1->next = helper2->next; return helper1->next; } };
相关文章推荐
- 第二个Sprint冲刺第 七天(燃尽图)
- cocos2d-x 3.x 开启debugdraw
- C语言开发总结(十八)
- JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)
- 通信协议-HTTP/TCP/UDP
- Linux下配置安装PHP环境
- 网页设计大赛第十四天
- hdu 1269 迷宫城堡(强连通分量 Tarjan算法)
- SVN服务器以及客户端安装和使用
- web前端性能的意义及关注的重点
- android中的数据存储方式(二)SQLite
- 获取CheckedListBox选中的项
- Find the Duplicate Number(Leetcode 287)
- HDU 5586Sum(最大子序列和)
- homerHEVC代码阅读(9)——基础结构之low_level_funcs_t
- 闲话Zynq UltraScale+ MPSoC(连载4)——IO资源
- Android自定义照相机 预览拍照 切换前后置摄像头
- 释放Linux系统预留的硬盘空间【转】
- Find the Duplicate Number(Leetcode 287)
- CombinedDomainXYPlot