[LeetCode] Zigzag Conversion

来源:互联网 发布:淘宝端口cd 编辑:程序博客网 时间:2024/04/29 06:10
class Solution {public:    string convert(string s, int nRows) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        if (nRows == 1) return s;                vector<vector<char> > v(nRows, vector<char>());                int i = 0;        int d = 0;                for (int j = 0; j < s.size(); j++) {            v[i].push_back(s[j]);                        if (d == 0) {                if (i + 1 == nRows) {                    i--;                    d = 1;                } else {                    i++;                }            } else {                if (i == 0) {                    i++;                    d = 0;                } else {                    i--;                }            }        }                string ret = "";                for (int j = 0; j < nRows; j++) {            for (int k = 0; k < v[j].size(); k++)                ret += v[j][k];        }                return ret;    }};


Small Case: 4ms

Large Case: 184ms


Time: O(n)

Space: O(n)

原创粉丝点击