链表头插法易错
class Solution {
public:
ListNode* reverseList(ListNode* head) {
if(!head)return NULL;
ListNode* pre=new ListNode(-1);
ListNode* tmp;
while(head){
tmp=head;
head=head->next;
tmp->next=pre->next;
pre->next=tmp;
}
return tmp;
}
};
tmp=head其实二者都是指向同一节点的指针,并没有创建
指针的备份,需要对这一节点做出保护!!!!