这道题好麻烦
string convert(string s, int numRows) {
char maze[1010][1010];
int num = numRows;
int i = 0;
int row = 0;
int col = 0;
int flag = 0;
for(int i = 0;i<num;i++)
{
for(int j = 0;j<s.size();j++)
{
maze[i][j] = '#';
}
}
while(i<s.size())
{
if(!flag)
{
// print();
row = 0;
for(int j = 0; j<numRows; j++)
{
if(i == s.size()) break;
maze[j][col] = s[i++];
row++;
// print();
}
flag = 1;
row = row-1;
// print();
}
else if(flag)
{
// print();
int flag0 = 0;
for(row;row>=2;)
{
flag0 = 1;
if(i == s.size()) break;
maze[--row][++col] = s[i++];
}
flag = 0;
if(flag0)
{
row--;
}
col++;
// print();
}
}
string s2;
int cnt = 0;
for(int i = 0;i<num;i++)
{
for(int j = 0;j<s.size();j++)
{
if(cnt == s.size()) break;
if(maze[i][j]!='#')
{
s2.push_back(maze[i][j]);
cnt++;
}
}
if(cnt == s.size()) break;
}
return s2;
}