6. Z字形转换

将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:(下面这样的形状)

P   A   H   N
A P L S I I G
Y   I   R

之后按逐行顺序依次排列:"PAHNAPLSIIGYIR"

实现一个将字符串进行指定行数的转换的函数:

string convert(string text, int nRows);
class Solution {
public:
    string convert(string s, int numRows) {
        vector<string>re(numRows,"");
        for(int i=0; i<s.size(); ){
            for(int k=0; k<numRows && i<s.size(); ++k)
                re[k].push_back(s[i++]);
            for(int j=numRows-2; j>0 && i<s.size(); --j)
                re[j].push_back(s[i++]);
        }
        string ans;
        for(string x:re)
            ans+=x;
        return ans;
    }
};

 

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