node *floydAlgo(node *head){
node *slow = head;
node *fast = head;
node *curr = fast;
node *prev = NULL;
node *n;
node *temp;
while (fast!= NULL || fast->next!=NULL){
fast = fast->next->next;
slow = slow->next;
if (fast == slow){
temp = tail;
slow = head;
break;
}
}
while(fast != slow)
{
temp=temp->next
slow = slow->next;
curr =temp;
n= curr->next;
c->next = prev;
prev= curr;
curr=n;
}
prev= NULL;
}
bm9kZSAqZmxveWRBbGdvKG5vZGUgKmhlYWQpewogICAgbm9kZSAqc2xvdyA9IGhlYWQ7CiAgICBub2RlICpmYXN0ID0gaGVhZDsKICAgIG5vZGUgKmN1cnIgPSBmYXN0OwogICAgbm9kZSAqcHJldiA9IE5VTEw7CiAgICBub2RlICpuOwogICAgbm9kZSAqdGVtcDsKICAgIHdoaWxlIChmYXN0IT0gTlVMTCB8fCBmYXN0LT5uZXh0IT1OVUxMKXsKICAgICAgICBmYXN0ID0gZmFzdC0+bmV4dC0+bmV4dDsKICAgICAgICBzbG93ID0gc2xvdy0+bmV4dDsKICAgICAgICBpZiAoZmFzdCA9PSBzbG93KXsKICAgICAgICAgICAgdGVtcCA9IHRhaWw7CiAgICAgICAgICAgIHNsb3cgPSBoZWFkOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CiAgIAogICAgICAgIHdoaWxlKGZhc3QgIT0gc2xvdykKICAgICAgICAgICAgewogICAgICAgICAgICB0ZW1wPXRlbXAtPm5leHQKICAgICAgICAgICAgc2xvdyA9IHNsb3ctPm5leHQ7CiAgICAgICAgICAgIGN1cnIgPXRlbXA7CiAgICAgICAgICAgIG49IGN1cnItPm5leHQ7CiAgICAgICAgICAgIGMtPm5leHQgPSBwcmV2OwogICAgICAgICAgICBwcmV2PSBjdXJyOwogICAgICAgICAgICBjdXJyPW47CiAgICAgICAgfQogICAgICAgICAgICBwcmV2PSBOVUxMOwogICAgfQ==