365bet亚洲版登录-bet官网365入口

365bet亚洲版登录拥有超过百间客房,bet官网365入口的文化历经几十年的传承和积淀形成的核心内容获得业界广泛的认可,365bet亚洲版登录是目前信誉最高的娱乐场所,同国内外几百家网上内容供应商建立了合作关系。

Leetcode: 6. ZigZag Conversion

Description

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)

Example

P   A   H   NA P L S I I GY   I   RAnd 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".

思路

  • 这些题好像也远非怎么简便方法,找规律吧

代码

  • 时间复杂度:O
class Solution {public:   string convert(string s, int numRows) {        int len = s.size();        if (numRows <= 1 || len <= 1)  return s;        string res;        int countX = 2 * numRows - 2;        int countY = 0;        int index = 0;        int tmp = numRows;        int k = 0;        while (tmp > 0){            if (countY == 0){                int i = index;                countX = numRows * 2 - 2;                while (i < len){                    res[k++] = s[i];                    i = i + countX;                }                index++;                countX -= 2;                countY += 2;            }            else if (countX != 0 && countY != 0){                int i = index;                while (i < len){                    res[k++] = s[i];                    i = i + countX;                    if (i < len){                        res[k++] = s[i];                        i = i + countY;                    }                }                index++;                countX -= 2;                countY += 2;            }            else if (countX == 0){                int i = index;                countX = numRows * 2 - 2;                while (i < len){                    res[k++] = s[i];                    i = i + countX;                }                index++;                countX -= 2;                countY += 2;            }            tmp--;        }        return res;    }};

本文由365bet亚洲版登录发布于计算机网络,转载请注明出处:Leetcode: 6. ZigZag Conversion

您可能还会对下面的文章感兴趣: