题目:输入一个链表,反转链表后,输出链表的所有元素。
注意好顺序问题,反转后的链表的最后一个结点的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) return NULL;
ListNode * pre =NULL;//下一个结点的前一个点
ListNode * nextNode = NULL;//用来保存下一个头
while(pHead !=NULL)
//for(pHead;pHead!=NULL;)
{
nextNode = pHead->next;
//pre = pHead;注意顺序问题
pHead->next = pre;
pre = pHead;
pHead = nextNode;
}
return pre;
}
};