剑指offer题目15:反转链表

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

解答思路

哈哈,很快就解决了,因为之前做个类似的,从尾到头输出这个链表。所以这种问题很快就可以解决了。而且还是一次通过,真是开心。

就是指向头部节点为current,再用next先记录下一个节点,然后把current指向pre节点,然后准备下一个节点,pre指向current,current指向next。直到next为NULL。

实现代码


/*
/*
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* pre = NULL;
        ListNode* next = NULL;
        ListNode* current = pHead;

        while(current != NULL) {
            next = current->next;
            current->next = pre;
            pre = current;
            current = next;
        }

        // 此时current为NULL了
        return pre;
    }
};
posted @ 2019-03-29 15:00  {-)大傻逼  阅读(147)  评论(0)    收藏  举报
欢迎转载,转载请注明本文地址。