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

链表的反转思路及代码实现

时间:2017-02-27 23:10:42      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:指针   ext   思路   log   post   链表   eve   class   div   

Node* reverse_list(Node *head){
Node *cur=head;   //链表的反转需要3个状态指针,分别是当前状态指针*cur,前一个状态指针*pre,后一个状态指针*post。
//初始化时,当前状态指针从head出发,前一个状态没有,则定为NULL,后一个状态指针为当前状态的下一个cur-〉next; Node
*pre = NULL; Node *post = cur->next; // Node *reverse_head = cur; while(post){ //首先需要判断是否下一个指针是否已经为空了,为空则不用在进行反转了,已经反转结束了 cur->next = pre; //当前状态(假如为b)下一个状态是前一个状态,本来是a-〉b-〉c-〉d,变成了b-〉a-〉c-〉d pre = cur; //让前一个状态指针定为当前状态,即当前状态变成了b cur = post; //让现在状态指针变成下一个状态指针,即从b变成了c post = post->next; //让下一个状态继续找下一个,由c就变成了d } //由此经过又一次循环c-〉b-〉a-〉d,以此寻哈到最后。 cur->next = pre;
// reverse_head = cur; return cur; }

 

链表的反转思路及代码实现

标签:指针   ext   思路   log   post   链表   eve   class   div   

原文地址:http://www.cnblogs.com/cxy931980808/p/6476712.html

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