#include <iostream>
#include <stack>
//using namespace std;
struct node
{
int data;
node * next;
};
node * head;
void reverse()
{
int c=1;
node *current,*prev,*temp;
current=head;
prev=NULL;
std::stack<int>s;
while(current!=NULL)
{
c++;
s.push(current->data);
current=current->next;
}
int mid=0;
if((c%2)==0)
{
mid=c/2;
}
else
{
mid=(c+1)/2;
}
current=head;
int lastFordward = (c%2)?mid-1:mid;
for(int i=0;i<lastFordward;i++)
{
std::cout<<current->data<<"\t";
current=current->next;
}
for(int i=mid;i>1;i--)
{
std::cout<<s.top()<<"\t";
s.pop();
}
std::cout << '\n';
}
int main() {
// your code goes here
node n1,n2,n3,n4,n5,n6;
n1.next=&n2;
n1.data=1;
n2.next=&n3;
n2.data=2;
n3.next=&n4;
n3.data=3;
n4.next=&n5;
n4.data=4;
n5.next=&n6;
n5.data=5;
n6.next=0;
n6.data=6;
head=&n1;
reverse();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RhY2s+Ci8vdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBub2RlCnsKCWludCBkYXRhOwoJbm9kZSAqIG5leHQ7Cn07Cgpub2RlICogaGVhZDsKCnZvaWQgcmV2ZXJzZSgpCnsKICAgIGludCBjPTE7CiAgICBub2RlICpjdXJyZW50LCpwcmV2LCp0ZW1wOwogICAgY3VycmVudD1oZWFkOwogICAgcHJldj1OVUxMOwogICAgc3RkOjpzdGFjazxpbnQ+czsKICAgIHdoaWxlKGN1cnJlbnQhPU5VTEwpCiAgICB7CiAgICAgICAgYysrOwogICAgICAgIHMucHVzaChjdXJyZW50LT5kYXRhKTsKICAgICAgICBjdXJyZW50PWN1cnJlbnQtPm5leHQ7CiAgICB9CgogICAgaW50IG1pZD0wOwogICAgaWYoKGMlMik9PTApCiAgICB7CiAgICAgICAgbWlkPWMvMjsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBtaWQ9KGMrMSkvMjsKICAgIH0KICAgIGN1cnJlbnQ9aGVhZDsKICAgIGludCBsYXN0Rm9yZHdhcmQgPSAoYyUyKT9taWQtMTptaWQ7CiAgICBmb3IoaW50IGk9MDtpPGxhc3RGb3Jkd2FyZDtpKyspCiAgICB7CiAgICAgICAgc3RkOjpjb3V0PDxjdXJyZW50LT5kYXRhPDwiXHQiOwogICAgICAgIGN1cnJlbnQ9Y3VycmVudC0+bmV4dDsKICAgIH0KCiAgICBmb3IoaW50IGk9bWlkO2k+MTtpLS0pCiAgICB7CiAgICAgICBzdGQ6OmNvdXQ8PHMudG9wKCk8PCJcdCI7CiAgICAgICBzLnBvcCgpOwogICAgfQogICAgc3RkOjpjb3V0IDw8ICdcbic7Cn0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJbm9kZSBuMSxuMixuMyxuNCxuNSxuNjsKCW4xLm5leHQ9Jm4yOwoJbjEuZGF0YT0xOwoJbjIubmV4dD0mbjM7CgluMi5kYXRhPTI7CgluMy5uZXh0PSZuNDsKCW4zLmRhdGE9MzsKCW40Lm5leHQ9Jm41OwoJbjQuZGF0YT00OwoJbjUubmV4dD0mbjY7CgluNS5kYXRhPTU7CgluNi5uZXh0PTA7CgluNi5kYXRhPTY7CgloZWFkPSZuMTsKCXJldmVyc2UoKTsKCXJldHVybiAwOwp9