class Solution {
public:
string convert(string s, int numRows) {
vector<vector<char>> M;
M.resize(numRows);
if(numRows==1)
return s;
for(int i=0;i<s.length();++i)
{
if(i%(2*numRows-2)<numRows)
M[i%(2*numRows-2)].push_back(s[i]);
else
M[2*numRows-2-i%(2*numRows-2)].push_back(s[i]);
}
string so="";
for(int k=0;k<numRows;++k)
{
for(int j=0;j<M[k].size();j++)
so +=M[k][j];
}
return so;
}
};
public:
string convert(string s, int numRows) {
vector<vector<char>> M;
M.resize(numRows);
if(numRows==1)
return s;
for(int i=0;i<s.length();++i)
{
if(i%(2*numRows-2)<numRows)
M[i%(2*numRows-2)].push_back(s[i]);
else
M[2*numRows-2-i%(2*numRows-2)].push_back(s[i]);
}
string so="";
for(int k=0;k<numRows;++k)
{
for(int j=0;j<M[k].size();j++)
so +=M[k][j];
}
return so;
}
};