6. ZigZag Conversion

class Solution {
    public String convert(String s, int numRows) {
        int len = s.length();
        if(numRows<2||len==0){
            return s;
        }
        int d = 2*numRows-2;
        String res = "";
        for(int row = 0;row<numRows&&row<len;row++){
            int i = row;
            if(row==0||row==numRows-1){
                while(i<len){
                    res+=s.charAt(i);
                    i+=d;
                }
            }else{
                res+=s.charAt(i);
                i+=d-2*row;
                while(i<len){
                    res+=s.charAt(i);
                    i+=2*row;
                    if(i>=len)
                        break;
                    res+=s.charAt(i);
                    i+=d-2*row;
                }
            }
        }
        return res;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容