206. Reverse Linked List(c语言)

来源:互联网 发布:西安华山世知酒店 编辑:程序博客网 时间:2024/04/30 23:17

测试面试必考的反转链表

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     struct ListNode *next; * }; */struct ListNode* reverseList(struct ListNode* head) {    if(head==NULL){        return head;    }    struct ListNode *p=head->next;//p指针指向正要反转的    head->next=NULL;    while(p!=NULL){        struct ListNode *ptmp=p->next;//ptmp指向下一轮要反转的,如果完成了ptmp就指向了NULL        p->next=head;//开始反转        head=p;//head永远跟着p,原来它指p改成被p指        p=ptmp;            }    return head;}


0 0
原创粉丝点击