您的位置:首页 > 其它

[leedcode 06]ZigZag Conversion

2015-07-04 22:26 323 查看
public class Solution {
public String convert(String s, int numRows) {
//本题通过画图numRows=4和numRows=5可以得到规则,主线路距离是2*numRows-2;辅助行是(numRows-i-1)*2
if(numRows<=1)return s;//注意判断
if(s.length()<=numRows) return s;
StringBuilder res=new StringBuilder();
int index=0;
for(int i=0;i<numRows;i++){//i表示行数,注意范围
for(index=i;index<s.length();index=index+numRows*2-2){
res.append(s.charAt(index));
if(i==0||i==numRows-1)continue;//注意首尾两行
if(index+(numRows-i-1)*2<s.length()){
res.append(s.charAt(index+(numRows-i-1)*2));
}
}

}
return res.toString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: