考点:
代码的鲁棒性
题目描述:
输入一个链表,反转链表后,输出新链表的表头。
解题:
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode *pre = NULL;
ListNode *p = NULL;
while(pHead != NULL){
pre = p; //4、
p = pHead;//2、
pHead = pHead->next;//1、
p->next = pre;//3、
}
return p;
}
};
/*类似贪吃蛇的走法
先尾部开始赋值,这样子不影响头部。
*/