public class Solution {
public String convert(String s, int numRows) {
if (numRows == 1) {
return s;
}
int flg = 0;
boolean dir = true;
List<StringBuffer> list = new ArrayList<StringBuffer>();
for (int i = 0; i < numRows; i++) {
list.add(new StringBuffer(""));
}
for (int i = 0; i < s.length(); i++) {
list.get(flg).append(String.valueOf(s.charAt(i)));
flg += dir ? 1 : -1;
if (flg == numRows) {
dir = !dir;
flg -= 2;
} else if (flg == -1) {
dir = !dir;
flg += 2;
}
}
String result = "";
for (StringBuffer str : list) {
result = result + str;
}
return result;
}
}