Letcode-6Z字形变换

Posted 笨鸟先飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Letcode-6Z字形变换相关的知识,希望对你有一定的参考价值。

class Solution {
public:
    string convert(string s, int numRows) {
        string t;
        int len = s.length();
        int n;
        if (numRows > 2)         //这个地方要特殊处理一下,当是只有一行或是两行时候两列中间没有字母
            n = numRows * 2 - 2;
        else  n = numRows;
        for (int i = 0; i < numRows; i++) {
            if (i == 0 || i == numRows - 1) {
                int id = i;
                while (id < len) t+=s[id], id += n;                                                                                                                        
            }
            else {
                int id = i;
                while (id < len) {
                    t+= s[id];
                    id = id + (numRows - i-1)*2;
                    if (id < len) t+= s[id];
                    else break;
                    id = id + (i) * 2;
                }
            }
        }
        return t;
    }
};

以上是关于Letcode-6Z字形变换的主要内容,如果未能解决你的问题,请参考以下文章

Z字形变换

Z字形变换

LeetCode-006-Z 字形变换

leetcode算法:6.Z 字形变换

Z字形变换

Z 字形变换