LeetCode 6. Z 字形变换

题目描述:

解法:

class Solution {
public:
    string convert(string s, int numRows) {
        int n = s.size();
        if (numRows >= n||numRows<2) return s;  //特殊情况特殊处理
        string res;
        for (int i = 0; i<numRows; i++) {                    //分行处理
            for (int j = i; j<n; j += 2 * numRows - 2) {         //各行按大列分别处理
                res += s[j];
                if ((i != 0) && (i != numRows - 1) && (j + 2 * numRows - 2 - 2 * i)<n) {
                    res += s[j + 2 * numRows - 2 - 2 * i];
                }
            }
        }
        return res;
    }
};
原文地址:https://www.cnblogs.com/oneDongHua/p/14264022.html