ZigZag Conversion

class Solution {
public:
    string convert(string s, int numRows) {
        if(numRows==1)
            return s;
        else
        {
            int len=s.size();
            int count=0;
            int interval=(numRows<<1)-2;
            string res(len,' ');
            for(int j=0;j<len;j=j+interval)
                res[count++]=s[j];
            for(int k=1;k<numRows-1;k++)
            {
                int inter=k<<1;
                for(int j=k;j<len;j+=inter)
                {
                    res[count++]=s[j];
                    inter=interval-inter;
                }
            }
            for(int j=numRows-1;j<len;j=j+interval)
                res[count++]=s[j];
            return res;
        }
    }
};

  

原文地址:https://www.cnblogs.com/xlqtlhx/p/7967031.html