leetcode - ZigZag Conversion

来源:互联网 发布:linux 获取系统时区 编辑:程序博客网 时间:2024/03/29 18:23

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)

P   A   H   NA P L S I I GY   I   R
And then read line by line: "PAHNAPLSIIGYIR"

Write the code that will take a string and make this conversion given a number of rows:

string convert(string text, int nRows);

convert("PAYPALISHIRING", 3) should return "PAHNAPLSIIGYIR".

class Solution {public:    std::string convert(std::string s, int nRows) {if(nRows==1)        {            return s;        }        std::string result;        int t = nRows*2-2;        for(int i = 0;i<=t/2;++i)        {            for(int j = 0;j<s.size();++j)            {                if(j%t==i||j%t==t-i)                {                    result+= s[j];                }            }        }        return result;    }};


0 0
原创粉丝点击