题目描述:
思路:
用来个循环分别从上往下、从下往上添加元素
class Solution {
public String convert(String s, int numRows) {
if (s.length()==1){
return s;
}
StringBuffer []sbs = new StringBuffer[numRows];
for(int i=0;i<numRows;i++){
sbs[i]=new StringBuffer();
}
int length = s.length();
for (int i=0;i<length;){
//up to down
for (int j=0;j<numRows&&i<length;j++){
sbs[j].append(s.charAt(i));
i++;
}
//down to up
for (int j=numRows-2;j>=1&&i<length;j--){
sbs[j].append(s.charAt(i));
i++;
}
}
for (int i=1;i<numRows;i++){
sbs[0].append(sbs[i]);
}
return sbs[0].toString();
}
}
注意点:
要判断是否越界:i<length 否则可能出现空指针