leetcode 6.ZigZag Conversion

转换数字,那么利用下标1 2 3 4 5 6 7 8 9 10画图就可以找到所对应的关系的,在首行中的间隔就是2*行数-2的,然后在其他行中又可以知道下一行之间所间隔的数的关系的。

class Solution {
public:
    string convert(string s, int numRows) {
        if(numRows<=1) return s;
        string res="";
        int gap=2*numRows-2;
        for(int i=0;i<numRows;i++){
            for(int j=i;j<s.size();j+=gap){
                res+=s[j];
                int temp=j+gap-2*i;
                if(i!=0&&i!=numRows-1&&temp<s.size()) res+=s[temp];
            }
        }
        return res;
    }
};

 

posted on 2018-09-11 16:05  昔风不止,唯有努力生存  阅读(99)  评论(0编辑  收藏  举报

导航