struct LinkNode
{
int value;
LinkNode* next;
}
LinkNode* reverse(LinkNode* pHead)
{
if (pHead == nullptr)
return nullptr
LinkNode* pReverseHead = pHead;
LinkNode p = pHead;
LinkNode pnext = nullptr;
LinkNode pre = nullptr;
while ( p == nullptr)
{
pnext = p -> next;
if(pnext == nullptr)
pReverseHead = p;
pre = p;
p = pnext;
pnext = p -> next
}
return pReverseHead;
}