题意:按‘之’字形输出字符串。
思路:模拟题。
class Solution {
public:
string convert(string s, int numRows) {
if(numRows == 1 || s.length() <= numRows) return s;
int c1 = numRows * 2 - 2;
int c2;
string re;
for(int i = 0; i < numRows; ++ i) {
if(i == 0) {
for(unsigned start = 0; start < s.length(); start += c1) {
re += s[start];
}
}
else if(i == numRows - 1) {
for(unsigned p = i; p < s.length(); p += c1) {
re += s[p];
}
}
else{
for(unsigned p = i; p < s.length(); p += c1) {
if(p < s.length()) re += s[p];
c2 = c1 - 2 * i;
if(p + c2 < s.length()) re += s[p + c2];
}
}
}
return re;
}
};