题目描述:
解法:
class Solution {
public:
string convert(string s, int numRows) {
int n = s.size();
if (numRows >= n||numRows<2) return s; //特殊情况特殊处理
string res;
for (int i = 0; i<numRows; i++) { //分行处理
for (int j = i; j<n; j += 2 * numRows - 2) { //各行按大列分别处理
res += s[j];
if ((i != 0) && (i != numRows - 1) && (j + 2 * numRows - 2 - 2 * i)<n) {
res += s[j + 2 * numRows - 2 - 2 * i];
}
}
}
return res;
}
};