码迷,mamicode.com
首页 > 其他好文 > 详细

链表翻转

时间:2019-09-01 21:59:09      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:判断   struct   while   反转链表   ext   null   建立   list   next   

/*
 struct ListNode {
     int val;
     struct ListNode *next;
     ListNode(int x) :
             val(x), next(NULL) {
     }
 };*/
 class Solution {
 public:
     ListNode* ReverseList(ListNode* pHead)
     {
         // 反转指针
         ListNode* pNode=pHead;  // 当前节点
         ListNode* pPrev=nullptr;// 当前节点的上一个节点
         ListNode* pNext=nullptr;// 当前节点的下一个节点
         ListNode* pReverseHead=nullptr;//新链表的头指针
 
         // 反转链表
         while(pNode!=nullptr)
         {
             pNext=pNode->next; // 建立链接
           
             if(pNext==NULL)    // 判断pNode是否是最后一个节点
                 pReverseHead=pNode;
 
             pNode->next=pPrev; // 指针反转
             pPrev=pNode;
             pNode=pNext;
         }
         return pReverseHead;
     }
 };

链表翻转

标签:判断   struct   while   反转链表   ext   null   建立   list   next   

原文地址:https://www.cnblogs.com/zhaochunhua12345/p/11443704.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!