* struct ListNode {
* int val;
* struct ListNode *next;
* };
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
/**
*
* @param head ListNode类
* @return void
*/
void reorderList(struct ListNode* head ) {
// write code here
if((!head)||!head->next||!head->next->next)
return ;
else{
struct ListNode*p=head,*q=head,*m=NULL;
while(q->next){
while(p->next->next){
p=p->next;
m=p->next;
}
if(q==p)
return;
p->next=NULL;
m->next=q->next;
q->next=m;
q=q->next->next;
p=q;
}
}
}