您的位置:首页 > 编程语言 > Java开发

leetcode ZigZag Conversion(Java)

2017-06-11 20:25 441 查看
题目链接:点击打开链接

类型:字符串处理

解法:观察法

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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: