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

链表倒置,这个还是考验仔细程度,第一遍还没做对 —— 剑指Offer

时间:2018-02-09 15:13:12      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:scribe   val   com   offer   思路   ext   剑指offer   eve   turn   

https://www.nowcoder.net/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

 

题目描述

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

 

思路:

还是要用三个指针,但是要考虑退出条件。完全的没有前后特殊情况的处理,看起来不行。为了保持优雅性,我把特殊处理放在了最前面。

但是最开始有一个bug,就是初始的时候有两句前后顺序颠倒了。倒置不能正常工作,后来可以了。

 

代码:

/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
            val(x), next(NULL) {
    }
};*/
class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
        if (pHead == NULL || pHead->next == NULL) return pHead;
        
        ListNode *pFirst = NULL;
        ListNode *pSecond = pHead;
// 开始下面两行倒了,有bug ListNode
*pThird = pSecond->next; pSecond->next = pFirst; while (pThird != NULL) { pFirst = pSecond; pSecond = pThird; pThird = pThird->next; pSecond->next = pFirst; } return pSecond; } };

 

 

技术分享图片

 

链表倒置,这个还是考验仔细程度,第一遍还没做对 —— 剑指Offer

标签:scribe   val   com   offer   思路   ext   剑指offer   eve   turn   

原文地址:https://www.cnblogs.com/charlesblc/p/8434819.html

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