LintCode : 链表划分
2017-04-14 11:56
253 查看
LintCode : 链表划分
题目给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。
你应该保留两部分内链表节点原有的相对顺序。
样例
给定链表 1->4->3->2->5->2->null,并且 x=3
返回 1->2->2->4->3->5->null
思路
创建新链表,将小于x和大于等于x的值分别插入新链表。
代码
ListNode *partition(ListNode *head, int x) { if(head == NULL) return head; ListNode *ans = (ListNode *)malloc(sizeof(ListNode)); ListNode *t = ans; for(ListNode *p = head; p != NULL; p = p->next) { if(p->val < x) { ListNode *temp = new ListNode(p->val); t->next = temp; t = t->next; } } for(ListNode *p = head; p != NULL; p = p->next) { if(p->val >= x) { ListNode *temp = new ListNode(p->val); t->next = temp; t = t->next; } } return ans->next; }
相关文章推荐
- LintCode 96. 链表划分
- [LintCode 96] 链表划分(Python)
- Lintcode 76.链表划分
- 【LintCode 简单】96. 链表划分
- LintCode【简单】96. 链表划分。代码及思路
- lintcode 96 链表划分
- LintCode_096_链表划分
- LintCode_096_链表划分
- Lintcode 链表划分
- LintCode-链表划分
- lintCode. 96 链表划分
- LintCode 链表划分
- 96. 链表划分(partition-list)(c++)----lintcode面试题之链表
- [LintCode]96.链表划分
- python_lintcode_96. 链表划分_389. 判断数独是否合法
- 链表划分-LintCode
- LintCode 链表倒数第n个节点
- lintcode-113-删除排序链表中的重复数字 II
- 链表倒数第n个节点-LintCode
- 翻转链表-LintCode