单链表逆置非递归:
//单链表逆置非递归
LinkNode* reverseLinkNode(LinkNode* head)
{
LinkNode *p,*q;
LinkNode *tmp;
p=NULL;
q=head->Next;
while(q)
{
tmp=q;q=q->Next;
tmp->Next=p;
p=tmp;
}
head->Next=p;
return head;
}
单链表逆置递归:
//递归实现
LinkNode* reverseLinkNode(LinkNode* head)
{
if(head==NULL||head->Next==NULL)
return head;
LinkNode* p=reverseLinkNode(head->Next);
head->Next->Next=head;
head->Next=NULL;
return p;
}