代码如下:
/*** Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* oddEvenList(struct ListNode* head) {
if(head==NULL)
return head;
struct ListNode* p_even,*p_temp,*head_temp;
p_even=(struct ListNode*)malloc(sizeof(struct ListNode));
p_even->next=NULL;
p_temp=p_even;
head_temp=head;
while(head_temp->next!=NULL)
{
p_temp->next=head_temp->next;
head_temp->next=head_temp->next->next;
p_temp=p_temp->next;
p_temp->next=NULL;
if(head_temp->next!=NULL)
head_temp=head_temp->next;
}
head_temp->next=p_even->next;
return head;
}