Reorder List
来源:互联网 发布:两组数据差值的标准差 编辑:程序博客网 时间:2024/06/08 07:50
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {private: ListNode* reverse(ListNode* head,int len) { if(len==1) { return head; } else if(len==2) { ListNode* tmp=head; head=head->next; head->next=tmp; tmp->next=0; return head; } else { ListNode *pre=head; ListNode *cur=pre->next; ListNode *next=cur->next; pre->next=0; while(next) { cur->next=pre; pre=cur; cur=next; next=next->next; } cur->next=pre; return cur; } }public: void reorderList(ListNode *head) { int len=0; ListNode *cphead=head; while(cphead) { len++; cphead=cphead->next; } if(len<3) { return; } int secondpart=len/2; cphead=head; for(int i=0;i<secondpart;++i) { cphead=cphead->next; } ListNode *second=cphead->next; cphead->next=0; ListNode* secondhead=reverse(second,len-len/2-1); while(secondhead) { ListNode* tmp=head; ListNode* tmp2=secondhead; head=head->next; tmp->next=secondhead; secondhead=secondhead->next; tmp2->next=head; } }};
0 0
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Reorder List
- Climbing Stairs
- C. Vanya and Exams
- 使用Nginx的proxy_cache缓存功能取代Squid[原创]
- PHP参数修改不生效的问题
- 如何判断$_POST传送的<textarea>标签中的值是否为空
- Reorder List
- Sudoku Solver
- Orace新建临时表空间、数据表空间、用户
- Word Ladder II
- Android Activity和Fragment的转场动画
- 表结构文档(考核准备)
- Add Binary
- Valid Sudoku
- 玻璃钢废气净化塔的安装与维护保养