反转链表-c语言描述
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* reverseList(struct ListNode* head){
struct ListNode* L=(struct ListNode*)malloc(sizeof(struct ListNode));
struct ListNode* p=(struct ListNode*)malloc(sizeof(struct ListNode));
struct ListNode* s=head;
L->next=NULL;
while(s!=NULL){
p=s;
s=s->next;
p->next=L->next;
L->next=p;
}
return L->next;
}