为什么在用C ++提交时出现此错误“堆后释放”

时间:2019-12-13 07:16:02

标签: c++ runtime-error heap-memory

每次在leetcode上提交代码时,都会收到此错误。此代码通过所有自定义测试用例。有人可以帮我解决这个问题吗?

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* removeNthFromEnd(ListNode* head, int copy)
    {   
        ListNode *temp1=head,*temp2=head,*prev;
        if(head==NULL)
        {
            return head;
        }

        while(copy!=0)
        {
            temp1=temp1->next;
            copy--;
        }

        while(temp1!=NULL)
                {   
                    prev=temp2;
                    temp1 = temp1->next;
                    temp2 = temp2->next;
                }

        if(prev==NULL)
        {
            prev=head;
            head=head->next;
            delete prev;
            return head;
        }

        prev->next=temp2->next;
        delete temp2;
        return head;

    }
};

0 个答案:

没有答案