请编写算法(写出算法代码),将指定的带头结点的单链表转为逆序
已知单链表的结构定义如下:
struct ListNode
{
int data;
struct ListNode *next;
};
typedef ListNode *LinkList;
参考算法代码:
int ReverseLinkList( LinkList A )
{
…
}
解法:
int ReverseLinkList( LinkList A )
{
if (A==NULL) return 0;
ListNode *p = A->next;
A->next = NULL;
while (p!=NULL)
{
ListNode *q = p;
p = p->next;
q->next = A->next;
A->next = q;
}
return 1;
}
“`