LeetCode 6. ZigZag Conversion

https://leetcode.com/problems/zigzag-conversion/

模拟题,把每个点的做表转换公式求出来,直接遍历一下矩阵。

class Solution {
public:
    string convert(string s, int numRows) {
        string ans="";
        int T=numRows*2-2;
        if(numRows==1) T=1;
        for(int i=0;i<numRows;i++)
        {
            if(i==0||i==numRows-1)
            {
                for(int j=0;j*T+i<s.length();j++)
                    ans+=s[j*T+i];
            }
            else
            {
                for(int j=0;j*T+i<s.length();j++)
                {
                    ans+=s[j*T+i];
                    if((j+1)*T-i<s.length())
                        ans+=s[(j+1)*T-i];
                }
            }
        }
        return ans;
    }
};

 

posted @ 2016-12-04 21:23  Luke_Ye  阅读(82)  评论(0编辑  收藏  举报