leetcode6.Z字形变换
题目说是z字形变化,但其实模拟更像n字形变化,找到字符下标规律就逐个拼接就能得到答案
class Solution {
public String convert(String s, int numRows) {
if(numRows==1)
return s;
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < numRows; i++) {
if (i != 0 && i != numRows - 1) {
for (int j = i; j < s.length(); j += (numRows - 1) * 2) {
stringBuilder.append(s.charAt(j));
int index = j + (numRows - i - 1) * 2;
if (index < s.length()) {
stringBuilder.append(s.charAt(index));
}
}
} else {
for (int j = i; j < s.length(); j += (numRows - 1) * 2) {
stringBuilder.append(s.charAt(j));
}
}
}
return stringBuilder.toString();
}
}