class Solution {
public:
string convert(string s, int numRows) {
int gap = numRows*2-2;
string newstring;
int length = 0 ;
if (numRows>=s.size()||s==""||numRows==1)
return s;
for (int i=0;i<numRows;i++)
{
int newgap = gap-i*2;
if (newgap==0)
newgap = gap;
newstring.insert(newstring.size(),1,s[i]);
length = i+newgap;
while(length<s.size())
{
newstring.insert(newstring.size(),1,s[length]);
if ((gap-newgap)==0)
newgap = gap;
else
newgap = gap - newgap;
length = length + newgap;
}
}
return newstring;
}
};
public:
string convert(string s, int numRows) {
int gap = numRows*2-2;
string newstring;
int length = 0 ;
if (numRows>=s.size()||s==""||numRows==1)
return s;
for (int i=0;i<numRows;i++)
{
int newgap = gap-i*2;
if (newgap==0)
newgap = gap;
newstring.insert(newstring.size(),1,s[i]);
length = i+newgap;
while(length<s.size())
{
newstring.insert(newstring.size(),1,s[length]);
if ((gap-newgap)==0)
newgap = gap;
else
newgap = gap - newgap;
length = length + newgap;
}
}
return newstring;
}
};