当我反向链接列表时,为什么会出现分段错误(核心已转储)?

时间:2019-03-10 13:37:11

标签: c++ linked-list segmentation-fault reverse

我写了一个代码清单,以反向链接列表。 \ 但这会导致细分错误,我不知道为什么?

  ListNode* ReverseList(ListNode* pHead) {
    ListNode *ptr_back, *ptr_cur, *tmp;
    ptr_cur = pHead;
    ptr_back = pHead->next;
    ptr_cur->next = NULL;
    while(ptr_back){
        tmp = ptr_back->next;
        ptr_back->next = ptr_cur;
        ptr_cur = ptr_back;
        ptr_back = tmp;
    }
    return ptr_cur;
}

1 个答案:

答案 0 :(得分:1)

谢谢@Son Donnie 我更改了代码。它奏效了!

 ListNode* ReverseList(ListNode* pHead) {
  ListNode *ptr_back=pHead;
  ListNode *ptr_cur=NULL;
  ListNode *tmp = NULL;
    while(ptr_back!=NULL){
        tmp = ptr_back->next;
        ptr_back->next = ptr_cur;
        ptr_cur = ptr_back;
        ptr_back = tmp;
    }
    return ptr_cur;
}