题解 | #反转链表#
反转链表
http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
/*
struct ListNode {
int val;
struct ListNode next;
ListNode(int x) :
val(x), next(NULL) {
}
};/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead)
{
if (nullptr == pHead || nullptr == pHead->next)
{
return pHead;
}
ListNode* pNode = pHead->next; ListNode* pPreNode = pHead; pPreNode->next = nullptr; ListNode* pNextNode = nullptr; while(nullptr != pNode->next) { pNextNode = pNode->next; pNode->next = pPreNode; pPreNode = pNode; pNode = pNextNode; } pNode->next = pPreNode; return pNode; }
};