public String convert(String s, int numRows/*行数*/) {
if (numRows == 1) return s;
char[][] chs = new char[numRows][s.length()];
//初始化数组
for (int i = 0; i < numRows; i++) {
for (int j = 0; j < s.length(); j++) {
chs[i][j] = ' ';
}
}
//填充数组
int row = 0, col = 0;
boolean flag = true;
for (int i = 0; i < s.length(); i++) {
chs[row][col] = s.charAt(i);
if (flag) {
//从上往下
row++;
if (row == numRows) {
flag = false;
row -= 2;
col++;
}
} else {
row--;
col++;
if (row == -1) {
flag = true;
row += 2;
col--;
}
}
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < numRows; i++) {
for (int j = 0; j < s.length(); j++) {
if (chs[i][j] != ' ') {
sb.append(chs[i][j]);
}
}
}
return sb.toString();
}
N字形变换
猜你喜欢
转载自blog.csdn.net/qq_44950242/article/details/130474272
今日推荐
周排行