照着书上敲得反转链表的代码,测试却是段异常
照着书上敲得反转链表的代码,测试却是段错误?
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode *p1,*p2,*p3;
if(pHead->next==NULL||pHead==NULL)
return pHead;
p1=pHead;p2=p1->next;
while(p2)
{
p3=p2->next;
p2->next=p1;
p1=p2;
p2=p3;
}
pHead->next=NULL;
pHead=p1;
return pHead;
}
};
------解决思路----------------------
if(pHead->next==NULL
------解决思路----------------------
pHead==NULL) // 当pHead == NULL时,执行这个if时,程序就会崩溃
写反了
if(pHead==NULL
------解决思路----------------------
pHead->next==NULL)
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode *p1,*p2,*p3;
if(pHead->next==NULL||pHead==NULL)
return pHead;
p1=pHead;p2=p1->next;
while(p2)
{
p3=p2->next;
p2->next=p1;
p1=p2;
p2=p3;
}
pHead->next=NULL;
pHead=p1;
return pHead;
}
};
------解决思路----------------------
if(pHead->next==NULL
------解决思路----------------------
pHead==NULL) // 当pHead == NULL时,执行这个if时,程序就会崩溃
写反了
if(pHead==NULL
------解决思路----------------------
pHead->next==NULL)