Z字形变换
    题目链接:https://leetcode-cn.com/problems/zigzag-conversion/
    图片.png

    思路:纯找规律,本质上每一行的字母在原字符串中的序号取余都会呈现一定的pattern。

    参考代码:

    1. class Solution {
    2. public:
    3. string convert(string s, int numRows) {
    4. if (numRows < 1) {
    5. return "";
    6. }
    7. string res;
    8. int loop = numRows * 2 - 2;
    9. int gap = loop - 2;
    10. for (int i = 0; i < s.size(); i += loop) {
    11. res += s[i];
    12. }
    13. for (int i = 1; i < numRows - 1; ++i) {
    14. for (int j = i; j < s.size(); j += loop) {
    15. res += s[j];
    16. res += s[j + gap];
    17. }
    18. gap -= 2;
    19. }
    20. for (int i = numRows - 1; i < s.size(); i += loop) {
    21. res += s[i];
    22. }
    23. return res;
    24. }
    25. };