美文网首页
链表反转

链表反转

作者: 安然_fc00 | 来源:发表于2017-03-22 23:22 被阅读0次
    ListNode* ReverseList(ListNode* head) {
            ListNode* pnode = head;  //记住只有pnode初始化不为空
            ListNode* pReversed = NULL;  //若链表空则直接返回pReversed
            ListNode* prev = NULL;  //因为第一个结点反转后需要指向空
            while(pnode != NULL)
            {
                ListNode* pnext = pnode->next;  //保存指向下一个结点的指针,防止链表断裂
                if(pnext == NULL)  //到了链表结尾,pReversed指向最后一个结点
                    pReversed = pnode;
                
                pnode->next = prev;  //记住这个顺序,画图可以帮助回忆
                prev = pnode;
                pnode = pnext;
            }
            
            return pReversed;
        }
    

    相关文章

      网友评论

          本文标题:链表反转

          本文链接:https://www.haomeiwen.com/subject/asianttx.html