https://leetcode-cn.com/problems/zigzag-conversion/java
思路:重點是找interval和step的公式code
public String convert(String s, int numRows) { if (s == null) { return ""; } int len = s.length(); if (len <= numRows || len <= 1 || numRows == 1) { return s; } char[] zigZagChars = new char[len]; int idx = 0; int interval = 2 * numRows - 2; for (int row = 0; row < numRows; row++) { int step = interval - 2 * row; for (int col = row; col < len; col += interval) { zigZagChars[idx++] = s.charAt(col); if (step > 0 && step < interval && col + step < len) { zigZagChars[idx++] = s.charAt(col + step); } } } return new String(zigZagChars); }