首页 > 代码库 > Reorder List
Reorder List
1 #define NULL 0 2 3 class Solution { 4 public: 5 void reorderList(ListNode *head) { 6 stack<ListNode*> s; 7 ListNode* ptr1,*ptr2,*tmp; 8 if(head != NULL && head->next != NULL && head->next->next != NULL) 9 {10 ptr1 = head;11 ptr2 = head;12 while(ptr2->next != NULL && ptr2->next->next != NULL)13 {14 ptr1 = ptr1->next;15 ptr2 = ptr2->next->next;16 }17 tmp = ptr1;18 ptr1 = ptr1->next;19 tmp->next = NULL;20 ptr2 = head;21 while(ptr1 != NULL)22 {23 s.push(ptr1);24 ptr1 = ptr1->next;25 }26 while(s.size())27 {28 tmp = ptr2->next;29 ListNode* top;30 top = s.top();31 s.pop();32 ptr2->next = top;33 top->next = tmp;34 ptr2 = ptr2->next->next;35 }36 }37 38 }39 };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。