Leetcode 6 ZigZag Conversion 字符串处理

题意:将字符串排成Z字形。

PAHNAPLSIIGYIR 如果是5的话,是这样排的

P     I

AP   YR

H L G

N  SI

A    I

于是,少年少女们,自己去找规律吧

提示:每个Z字形的字符串和原字符串的每个字母的位子一一映射

class Solution {
public:
    string convert(string s, int numRows) {
        string t = s;
        if(numRows == 1) return t;
        int k = 0; 
        for(string::size_type i = 0; i < s.size(); i += 2 * numRows - 2){
            t[k++] = s[i];
        }
        for(int i = 1; i < numRows - 1; ++i){
            for(string::size_type j = i; j < s.size(); j += 2 * numRows - 2){
                t[k++] = s[j];
                if(j + 2 * numRows - 2 - 2 * i< s.size()) {
                    t[k++] = s[j + 2 * numRows - 2 - 2 * i]; 
                }
            }
        }
        for(string::size_type i = numRows - 1; i < s.size(); i += 2 * numRows - 2){
            t[k++] = s[i];
        }
        return t;
    }
};
原文地址:https://www.cnblogs.com/onlyac/p/5464925.html