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

反转链表

时间:2018-03-09 11:10:38      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:int   next   reverse   span   body   节点   div   事先   ==   

1、输入一个链表,反转链表后,输出链表的所有元素。

2、

//调整节点i的next指针时,除了需要知道节点i本身,还要知道i的前一个节点h,我们要把节点i的next节点指向h。还需要事先保存一下i的下一个节点j,以防链表断开。
要准备三个指针,分别指向当前遍历到的节点、它的前一个节点以及后一个节点。
/*
struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* ReverseList(ListNode* pHead) { ListNode* pReverseHead = nullptr; ListNode* pNode = pHead; ListNode* pPrev = nullptr; while(pNode != nullptr){ ListNode* pNext = pNode->next; if(pNext == nullptr){ pReverseHead = pNode; } pNode->next = pPrev; pPrev = pNode; pNode = pNext; } return pReverseHead; } };

 

反转链表

标签:int   next   reverse   span   body   节点   div   事先   ==   

原文地址:https://www.cnblogs.com/haley0125/p/8506224.html

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