Z-字形变换【模拟】

题目链接

Z-字形变换【模拟】

解题思路:简单模拟

class Solution {
public:
    string convert(string s, int numRows) {
        if(numRows==1){
            return s;
        }
        int L=(numRows-1)*2;
        int R=0;
        int len=s.size();
        string ans;
        for(int j=0;j<len;j+=L){
            ans+=s[j];
        }
        L-=2;
        R+=2;
        for(int i=1;i<numRows-1;i++){
            for(int j=i;j<len;){
                if(j==i){
                    ans+=s[j];
                }
                j+=L;
                if(j<len){
                    ans+=s[j];
                }
                j+=R;
                if(j<len){
                    ans+=s[j];
                }
            }
            L-=2;
            R+=2;
        }
        for(int j=numRows-1;j<len;j+=R){
            ans+=s[j];
        }
        return ans;
    }
};

 

上一篇:【干货+视频】刘知远:面向大规模知识图谱的表示学习技术


下一篇:NLP之TM:基于gensim库调用20newsgr学习doc-topic分布并保存为train-svm-lda.txt、test-svm-lda.txt