Partition List
原题链接Partition List
重组链表,将所有小于给定值x的节点移动到前面,前后两部分的原始顺序不能改变,也就是说
- 将所有小于x的节点移动到前半部分,大于等于x的节点移动到后半部分
- 对于所有小于x的节点,调整之后的相对顺序不能改变
- 对于所有大于等于x的节点,调整之后的相对顺序不能改变
思路比较简单,遍历一遍链表,将所有小于x的节点组成一个新链表,将所有大于等于x的节点组成另一个新链表,最后两个链表头尾连接,解决任务:)
代码如下
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/