cherrychenlee

导航

 

原文地址:https://www.jianshu.com/p/5621f95b0115

时间限制:1秒 空间限制:32768K

题目描述

输入一个链表,反转链表后,输出新链表的表头。

我的代码

/*
struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x) :
			val(x), next(NULL) {
	}
};*/
class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
        if(pHead==nullptr || pHead->next==nullptr)
            return pHead;
        ListNode* cur=pHead;
        ListNode* pre=nullptr;
        ListNode* save=nullptr;
        ListNode* reverseHead=nullptr;
        while(cur){
            save=cur->next;
            cur->next=pre;
            if(save==nullptr)
                reverseHead=cur;
            pre=cur;
            cur=save;
        }
        return reverseHead;
    }
};

运行时间:4ms
占用内存:380k

posted on 2019-04-27 22:56  cherrychenlee  阅读(87)  评论(0编辑  收藏  举报