一次性通过的题目,很简单,通过多举几个例子找到规律,划归为几个等差数列即可。
class Solution {
public:
string convert(string s, int nRows) {
string result;
if(nRows==1)
return s;
else{
int i,j;
int k=2;
for(i=0;i<nRows;i++)
{
if(i==0||i==nRows-1)
for(j=i;j<s.length();j=j+2*nRows-2)
{
result=result+s[j];
}
else{
j=i;
int z=1;
while(j<s.length())
{
result=result+s[j];
if(z%2!=0)
j=j+(2*nRows-2-k);
else
j=j+k;
z++;
}
k=k+2;
}
}
return result;
}
}
};