剑指offer-反转链表

一、问题描述

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

二、思路

思路和逆序打印链表:逆序打印链表完全一致。

三、代码

/*
struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x) :
			val(x), next(NULL) {
	}
};*/
class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
		if(pHead == NULL)
            return NULL;
        ListNode* cur = pHead;
        ListNode* pre = NULL;
        ListNode* resultHead = pHead;
        if(cur -> next == NULL){
            cout< val;
            return pHead;
        }
        while(cur){
            ListNode* nextp = cur -> next;
            cur -> next = pre;
            if(nextp == NULL) break;
            pre = cur;
            cur = nextp;
        }
        resultHead = cur;
        return resultHead;
    }
};


你可能感兴趣的:(剑指offer-反转链表)