Leetcode报错:AddressSanitizer: heap-buffer-overflow on address 0x619000001d69 at pc 0x0000004024cf bp 0x7ffdb04bee90 sp 0x7ffdb04bee80
先看一下题目
5.最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
然后看一下代码:.
#define MAXSIZE 1000
//获得串s的反串
char* GetReserve(char* s,int nlen)
{
//申请nlen+1大小的空间,最后一位放'\0',strlen只计算字符的长度不包含'\0',是个函数
char* p = (char*)malloc(sizeof(char)*(nlen+1));
int i = 0; //从头开始
int j = nlen-1; //从尾开始
while(i < nlen)
{
p[i] = s[j]; //将尾部的值赋值到头
i++;
j--;
}
p[i