void reorderList(ListNode* head) {
if(head==NULL||head->next==NULL) //判空操作
return ;
list<ListNode*> res; //声明存储节点类型的list
ListNode* p = head->next;
ListNode* q = head;
while(p)
{
res.push_back(p); //将所有节点添加到list里面
p = p->next;
}
while(!res.empty()) //如果不为空
{
q->next = res.back(); //将list尾部链接到链表的后面
res.pop_back();//尾部弹出
q = q->next;
if(!res.empty())//此时list还不为空的话
{
q->next =res.front(); //将list头部链接到链表的后面
res.pop_front();//头部弹出
q=q->next;
}
}
q->next = NULL;
}
leetcode ---- 143. Reorder List
最新推荐文章于 2019-04-10 10:32:00 发布