参考答案:
#include<iostream>
#include<vector>
#include<string>
usingnamespacestd;
stringconvert(strings,intnRows)
{
//如果nRows小于1或者大于字符串长度,返回字符串本身
if(nRows<=1||nRows>=s.size())
returns;
vector<string>r(nRows);//包含nRows个字符串的vector
introw=0;
intstep=1;
for(inti=0;i<s.size();++i){
if(row==nRows-1)
step=-1;
if(row==0)
step=1;
r[row]+=s[i];
row+=step;
}
stringresult;
for(inti=0;i<nRows;i++){
result+=r[i];
}
returnresult;
}
intmain(){
strings;
intr;
s=“ABCDEFG”;
r=3;
cout<<convert(s,r)<<endl;
return0;
}
运行过程: