Z 字形变换(String.join()方法拼接字符串)
class Solution {
public String convert(String s, int numRows) {
if(numRows == 1) return s;
List<StringBuffer> rows = new ArrayList<>();
for(int i = 0; i < Math.min(numRows, s.length()); i++){
rows.add(new StringBuffer());
}
int rowNum = 0;
boolean down = false;
for(char c : s.toCharArray()){
rows.get(rowNum).append(c);
if(rowNum == numRows - 1 || rowNum == 0) down = !down;
rowNum += down ? 1 : -1;
}
// StringBuffer res = new StringBuffer();
// for(int i = 0; i < rows.size(); i++){
// res.append(rows.get(i));
// }
// return res.toString();
// String.join()是静态方法,与String.split()作用相反
// String.join(分隔符, String数组/集合)
String res = String.join("", rows);
return res;
}
}