首页 > 其他 > 详细

#206 反转链表

时间:2017-06-19 00:09:20      阅读:302      评论:0      收藏:0      [点我收藏+]

思路

1. 使用三个指针,一个是新的链表头newHead,一个是遍历原链表的cur,newHead是cur的前一个节点

2. cur不断向前,并把cur->next 指向newHead,逐个反转

3. 第三个指针,tmp,用于记录原来的遍历方向,即原cur->next

 

代码

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        ListNode *cur, *newHead;
        cur = head;
        newHead = NULL;
        while (cur) {
            ListNode *tmp = cur->next;
            cur->next = newHead;
            newHead = cur;
            cur = tmp;
        }
        return newHead;
    }
};

 

#206 反转链表

原文:http://www.cnblogs.com/kinsang/p/7045874.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!