#include
using namespace std;
#include
string manacherstring(string s)
{
string* res=new string[23];
int index=0;
for(int i = 0;i < 23;i++)
{
res[i]=(i & 1)==0?'n':s[index++];
}
cout<<(*res)[1];
return *res;
}
int main(int argc,char** argv)
{
string s ="abcdekedcba";
string s1=manacherstring(s);
}
#include <iostream>
#include <time.h>
using namespace std;
string manacherstring(string s)
{
string res;
int index = 0;
for (int i = 0; i < 23; i++)
{
res += (i & 1) == 0 ? 'n' : s[index++];
}
cout << (res);
return res;
}
int main(int argc,char** argv)
{
string s ="abcdekedcba";
string s1=manacherstring(s);
}
什么意思?
res 是字符串数组,而不是字符串
res[0] res[1] .... res[23] 是一个个字符串 ,你返回的是res[0]
你应该把res声明为string
string manacherstring(string s)
{
string res;
int index = 0;
for (int i = 0; i < 23; i++)
{
res += (i & 1) == 0 ? 'n' : s[index++];
}
cout << (res);
return res;
}