力扣第六题z字形变换 c语言
一个标志方向的变量一个存放他在第几行的数组
到首行和末行反向
char * convert(char * s, int numRows){
if(numRows==1)
{
return s;
}
int way=1;
int len=strlen(s);
int temp[len];
int i=0;
int row=1;
for(i;i<len;i++)
{
temp[i]=row;
if(row==numRows)
{
way=-1;
}
if(row==1)
{
way=1;
}
row=row+way;
}
int j=1;
int k=0;
char *b=malloc(sizeof(char)*2*len);
for(j;j<=numRows;j++)
{
for(i=0;i<len;i++)
{
if(temp[i]==j)
{
b[k]=s[i];
k++;
}
}
}
b[k]='\0';
return b;
}