Z字型变换:link
1.题目分析
1.思路比较简单,按题意将字符串分成几排,然后连接起来。
2.主要的是怎样让代码清晰生成这样几个字符。
2.示例代码
class Solution {
public:
string convert(string s, int numRows) {
vector<string> row_strings(numRows, "");
if(s.size() < numRows || numRows == 1)
return s;
int i = 0;
while(i < s.size()){
for(int j = 0; j < numRows && i < s.size(); ++j, ++i)
row_strings[j] += s.substr(i, 1);
for(int j = numRows - 2; j > 0 && i < s.size(); --j, ++i)
row_strings[j] += s.substr(i, 1);
}
string ret;
for(auto str : row_strings){
ret += str;
}
return ret;
}
};