heap-use-after-free
- 背景:leetcode 25 K个一组翻转链表
- 用了很长时间解决这个问题,过程中心态甚至有一点小小波动。
问题截图:
- 问题解释:堆在释放后使用,意思是我使用了释放后的空间吗??(看了程序没有发现问题)
- 由于之前没有遇到过类似问题,所以选择了在网上寻找答案,看看有没有遇到相同问题的同学分享经验:
发现有位同学分享的是delete之后再次使用空间,就会报相同错,可是我并没有使用delete。 - 再找了一会发现没有能利用的,大多是对于这个错误的解释和工具使用方法,所以选择自己寻找错误位置然后解决。
错误代码及测试用例:
/**
- Definition for singly-linked list.
- struct ListNode {
- int val;
- ListNode *next;
- ListNode(int x) : val(x), next(NULL) {}
- };
*/
class Solution {
public:
ListNode* reverseKGroup(ListNode* head, int k) {
ListNode *res=new ListNode;
ListNode *p=head,*r=head