题目描述
输入一个链表,反转链表后,输出新链表的表头。
提示:注意链表为空和只有一个节点的特殊情况
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pListHead)
{
if(pListHead==NULL) return NULL;
if(pListHead->next==NULL) return pListHead;
ListNode* node_l = pListHead;
ListNode* node_n = pListHead->next;
pListHead->next = NULL;
while (node_n != NULL)
{
ListNode* temp = node_n->next;
node_n->next = node_l;
node_l = node_n;
node_n = temp;
}
return node_l;
}
};