//看不懂题,在网上查找才知道,打印之字形,垂直打印完之后,从倒数第二个倒过来打印到第二个。
// * * *
// * * * * *
// * * * * *
// * * * *
// * *
public String convert(String s, int numRows) {
StringBuffer[] sb = new StringBuffer[numRows];
for(int i=0; i<sb.length; i++) {
sb[i] = new StringBuffer();
}
int len = s.length();
int i=0;
while(i < len) {
for(int idx =0; idx < numRows && i < len; idx ++) //vertically down 垂直打印
sb[idx].append(s.charAt(i++));
for(int idx = numRows - 2; idx >=1 && i < len; idx --)
//从倒数第二个倒过来打印到第二个
sb[idx].append(s.charAt(i++));
}
for(int idx = 1; idx < sb.length; idx ++) {
sb[0].append(sb[idx]);//把每行连接起来
}
return sb[0].toString();
}