解题思路:
根据规律编号,发现行数和各字符行号之间的规律
代码:
char* convert(char* s, int numRows) {
int len = strlen(s);
char *r = (char*)malloc(sizeof(int)*(len+1));
int p = 0;
if(numRows==1)
return s;
for(int k = 0;k < numRows;k++)
{
for(int j = 0;j < len;j++)
{
int m = j%(numRows*2-2);
if(m==k||(numRows*2-2)-m==k)
{
r[p] = s[j];
p++;
}
}
}
r[len] = '\0';
return r;
}