Node* temp=NULL;
Node* start=NULL;
void recursive(Node* root){
if(root->next!=NULL)
{
recursive(root->next);
root->next->next=root;
if(root==start)root->next=NULL;
}
else temp=root;
}
struct Node* reverseList(struct Node *root)
{
if(root==NULL)return NULL;
if(root->next==NULL)return root;
start=root;
recursive(root);
return temp;
}