这一题不难,但是我因为没有加上特殊条件检测 if( numRows <= 1) return s; 所以提交很多次都没有通过,真的是细节决定AC啊!!!
class Solution{
public:
std::string convert(std::string s, int numRows){
int len1 = s.size();
if (numRows <= 1) return s;
string result;
int group = 2 * numRows - 2;
for (int j = 0; j < numRows; ++j)
{
if (j == 0 || j == (numRows - 1 ))
for (int i = j; i < len1; i += group)
{
result += s[i];
}
else
{
for (int i = j; i < len1; i += group)
{
result += s[i];
int x = i + group - 2 * j;
if (x < len1)
result += s[x];
}
}
}
return result;
}
};