Reverse Linked List

来源:互联网 发布:空间数据库吴信才 编辑:程序博客网 时间:2024/05/16 15:37
///  实现链表反转的两种方法///  1. 创建新链表struct ListNode* reverseList(struct ListNode* head) {    if(head == NULL) return NULL;    struct ListNode* nlist = NULL;    for(struct ListNode* p = head;p;){        struct ListNode* temp = p->next;        p->next = nlist;        nlist = p;        p = temp;    }    return nlist;}/// 2 . 移动cur / head指针指向struct ListNode* reverseList(struct ListNode* head) {    if(head == NULL) return NULL;    struct ListNode* pre = head;    struct ListNode* cur = head->next;    while(cur!=null){        pre->next = cur->next;        cur->next = head;        head = cur;        cur = pre->next;    }    return head;}