Leetcode zigzag conversion

class Solution {
public:
    string convert(string s, int nRows) 
    {
        string ret;
        int n=s.size();
        vector<string>v(nRows);
        for(int i=0;i<n;)
        {
            for(int j=0;j<nRows&&i<n;j++,i++)
            v[j]+=s[i];
            for(int j=nRows-2;j>0&&i<n;j--,i++)
            v[j]+=s[i];
        }
        for(int i=0;i<nRows;i++)
        {
            for(int j=0;j<v[i].size();j++)
            ret+=v[i][j];
        }
        return ret;
    }
};


犯的错误

class Solution {
public:
    string convert(string s, int nRows) 
    {
        string ret;
        int n=s.size();
        vector<string>v(nRows);
        for(int i=0;i<n;)
        {
            for(int j=0;j<nRows;j++,i++)
            v[j]+=s[i];
            for(int j=nRows-2;j>0;j--,i++)
            v[j]+=s[i];
        }
        for(int i=0;i<nRows;i++)
        {
            for(int j=0;j<v[i].size();j++)
            ret+=v[i][j];
        }
        return ret;
    }
};

 少了约束条件

posted @ 2013-06-24 15:28  代码改变未来  阅读(1506)  评论(0编辑  收藏  举报