z字型打印序列

class Solution {
public:
    string convert(string s, int nRows) 
{
    vector<string> v;
    if(s.size()<=0||nRows<=1)
    {
        return s;
    }
    for(int i=0;i<nRows;i++)
    {
        string S;
        v.push_back(S);
    }
    int p=0;
    while(p<s.size())
    {
        for(int i=0;i<nRows;i++)
        {
            if((i+p)>=s.size())
            {
                break;
            }
            v[i]+=s[p+i];
        }
        p=p+nRows;
        if(p>s.size())
        {
            break;
        }
        for(int i=0;i<nRows-2;i++)
        {
            if(i+p>=s.size())
            {
                break;
            }
            v[v.size()-2-i]+=s[p+i];
        }
        p=p+=nRows-2;
    }
    string R;
    for(int i=0;i<v.size();i++)
    {
        R+=v[i];
    }
    return R;
}
};

    原文作者:Z字形编排问题
    原文地址: https://blog.csdn.net/weixin_40237626/article/details/80375724
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞