//一开始是MLE,用codeblocks跑了一下,发现忘记加进去之前考虑到down或者up为0的情况了..还有考虑一下nRows=1的情况
class Solution {
public:string convert(string s, int nRows) {
int len=s.length();
string res="";
if(s.empty())return s;
if(len<=nRows||nRows==1)return s;
int up;int down;int j=0;
for(int i=0;i<nRows;i++)
{
up=2*(i+1)-2;
down=2*(nRows-i)-2;
j+=i;
res.push_back(s[j]);
while(j<len)
{
if(down)
{j+=down;
if(j>=len)break;
res.push_back(s[j]);}
if(up)
{j+=up;
if(j>=len)break;
res.push_back(s[j]);}
}
j=0;
}
return res;
}
};