点击打开链接
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
class Solution {
public:
void reorderList(ListNode* head) {
vector<ListNode*> content;
ListNode* cur = head;
while (cur) {
content.push_back(cur);
cur = cur->next;
}
int size = content.size();
cur = NULL;
for(int i=0; i<=size-1-i; i++){
if(cur) cur->next = content[i];
if(i!=size-i-1) content[i]->next = content[size-1-i];//第一个颠倒的元素注意一下
cur = content[size-1-i];//以后就是后面元素跟着一个当前元素 也就是cur->next = content[i]
}
if(cur) cur->next = NULL;
}
};
int main()
{
return 0;
}