题目链接:点击打开链接
类型:字符串处理
解法:观察法
public class Solution {
public String convert(String s, int numRows) {
int len = s.length();
if (numRows == 1 || len <= numRows)
return s;
StringBuilder result = new StringBuilder();
int period = 2 * (numRows - 1);
for (int i = 0 ; i < numRows ; ++i)
{
for (int j = i ; j < len ; j+=period)
{
result.append(s.charAt(j));
if (i != 0 && i != numRows-1)
{
int temp = j + 2 * (numRows - 1 - i);
if (temp < len)
{
result.append(s.charAt(temp));
}
}
}
}
return result.toString();
}
}