leetcode刷题:The string "PAYPALISHIRING"

题目描述: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…….N
..A..P….L..S….I…I….G
….Y………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”.

Therefore, s = ABCD, row = 2, can be arranged as:
A….C
…B….D

由于原题对于题目描述不太清楚,我照着disscuss里面加了一个例子描述,方便阅读。

首先是我自己的代码:
/****************************************/
string s = “ABC”;
int numRows = 2 ;
if (s.size() == 1)
{
cout << s.size();
return 0;
}
string str;
int num2 = numRows / 2;
char ch[1000][1000];
int row = 0;
int i = 0;
for (int i = 0; i < 200; i++)
{
for (int j = 0; j < 200; j++)
{
ch[i][j] = ’ ‘;
}
}
while (i < s.size())
{

    for (int j = 0; j < numRows; j++, row++) {
        ch[j][row] = s[i];
        i++;
    }
}
i = 0;
while (i

菜鸡继续加油。。。

你可能感兴趣的:(leetcode)