思路来自:http://blog.csdn.net/zhouworld16/article/details/14121477
Java 代码:
public static String convert(String s, int numRows) {
int len = s.length();
if (numRows <= 1 || len == 0 || numRows > len) return s;
String result = "";
for (int i = 0; i < numRows; i++) {
int index = i;
result += s.charAt(index);
for (int k = 1; index < len; k++) {
if (i == 0 || i == numRows - 1) {
index += 2 * numRows - 2;
}
else {
if (k % 2 == 1) index += 2 * (numRows - 1 - i);
else index += 2 * i;
}
if (index < len) {
result += s.charAt(index);
}
}
}
return result;
}