什么网站可以接单做,垦利网页定制,wordpress农业模板下载,网站当前位置 样式给定一个链表和一个特定值 x#xff0c;对链表进行分隔#xff0c;使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head 1-4-3-2-5-2, x 3 输出: 1-2-2-4-3-5 来… 给定一个链表和一个特定值 x对链表进行分隔使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head 1-4-3-2-5-2, x 3 输出: 1-2-2-4-3-5 来源力扣LeetCode 链接https://leetcode-cn.com/problems/partition-list 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 解法
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* partition(ListNode* head, int x) {if(!head) return head;ListNode* dumy new ListNode(0), *p dumy;dumy-next head;ListNode *dumy2 new ListNode(0), *curr dumy2;while(p-next){if(p-next-val x){curr-next p-next;curr p-next;p-next p-next-next;}else{p p-next;}}curr-next NULL;p-next dumy2-next;return dumy-next;}
};