解法一:
利用循环数组进行打印,方法比较简便,时间复杂度为O(n)但浪费空间
public class Solution {
String convert(String s, int nRows) {
int i = 0, j = 0;
String result = "";
String[] strlist = new String[nRows];
for (i = 0; i < nRows; i++) {
strlist[i] = "";
}//注意得对字符串数组初始化,否则默认为null,结果有问题
boolean flag = false;
for (i = 0; i < s.length(); i++) {
strlist[j] += s.charAt(i);
if (0 != nRows - 1) {
if (!flag)
j++;
else
j--;
if (j % (nRows - 1) == 0)
flag = !flag;
}
}
for (i = 0; i < nRows; i++) {
result += strlist[i];
}
return result;
}
}