题解模拟就好了。链接:https://leetcode-cn.com/problems/zigzag-conversion/submissions/
class Solution {
public:
string convert(string s, int numRows) {
if (numRows == 1)return s;
char temp[1005][1005] = {'\0'};
string str1="";
int flag = 1;
int i = 1, j = 1;
//模拟Z字变换;
for (int k = 0; k < s.length(); k++) {
temp[i][j] = s[k];
if (flag == 1) {
if (i == numRows) {
flag = 0;
j++;
i--;
}
else i++;
}
else {
if (i == 1) {
flag = 1;
i++;
}
else {
j++;
i--;
}
}
}
//提取变换后的排序;
for (int i1 = 1; i1 <= numRows; i1++) {
for (int j1 = 1; j1 <= j; j1++) {
if (temp[i1][j1] != '\0') str1 += temp[i1][j1];
}
}
return str1;
}
};