char* convert(char* s, int numRows) {
int k = 0;
int iSize = strlen(s);
char *p = (char *)malloc(sizeof(char)*(iSize + 1));
for (int i = 0; i < numRows; i++)
{
int j = i;
while (k < iSize && j < iSize)
{
p[k] = s[j];
k++;
j += 2 * numRows - 2;
if (numRows == 1) j += 1;
if (i != 0 && i != numRows - 1 && j - 2 * i < iSize)
{
p[k] = s[j - 2 * i];
k++;
}
}
}
p[k] = '\0';
return p;
}
6. ZigZag Conversion
最新推荐文章于 2024-08-17 20:25:49 发布