Write the code that will take a string and make this conversion given a number of rows:
string convert(string text, int nRows); convert("PAYPALISHIRING", 3) should return "PAHNAPLSIIGYIR"Zigzag:即循环对角线结构(
0 8 16 1 7 9 15 17 2 6 10 14 18 3 5 11 13 19 4 12 20 ) 算法思想: 向下循环 斜对角循环:gap=nRows-2(去除端点) C++ Implements: string convert(string s, int numRows) { if(numRows==1) return s; string str[numRows]; int i=0,gap=numRows-2; while(i<s.size()){ for(int j=0;j<numRows&&i<s.size();j++){ str[j]+=s[i++]; } for(int j=gap;j>0&&i<s.size();j--){ str[j]+=s[i++]; } } string res=""; for(int j=0;j<numRows;j++){ res+=str[j]; } return res; }