实现链表分割
实现链表分割/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */structListNode*partition(structListNode*head,intx){structListNode*list1,*head1,*list2,*head2;list1head1(structListNode*)malloc(sizeof(structListNode));list2head2(structListNode*)malloc(sizeof(structListNode));structListNode*curhead;while(cur){if(cur-valx){list1-nextcur;list1list1-next;}else{list2-nextcur;list2list2-next;}curcur-next;}list2-nextNULL;list1-nexthead2-next;headhead1-next;free(head1);free(head2);returnhead;}/**Definition for singly-linked list.struct ListNode {int val;struct ListNode *next;};/struct ListNodepartition(struct ListNode* head, int x){struct ListNode* list1,head1,list2,head2;list1head1(struct ListNode)malloc(sizeof(struct ListNode));list2head2(struct ListNode)malloc(sizeof(struct ListNode));struct ListNodecurhead;while(cur){if(cur-valx){list1-nextcur;list1list1-next;}else{list2-nextcur;list2list2-next;}curcur-next;}list2-nextNULL;list1-nexthead2-next;headhead1-next;free(head1);free(head2);return head;}