暴力解法
c代码注意点 题目
暴力解法 c代码
void reorderList(struct ListNode* head){
struct ListNode *dummy = NULL, *t = NULL, *p = NULL;
dummy = head;
if (dummy == NULL
|| dummy->next == NULL)
{
return head;
}
while(dummy != NULL) {
t = dummy;
do {
p = t;
t = t->next;
} while(t != NULL && t->next != NULL);
//t == NULL or t->next == NULL
if(t == NULL)
break;
p->next = NULL;
t->next = dummy->next;
dummy->next = t;
dummy = t->next;
}
return head;
}
注意点
- 链子节点p,t注意每次都需要初始化,如代码中由原来的while()循环修改为do{...}while()循环;暴力解法耗时680ms,待优化;



