题目:
将一个给定字符串 s
根据给定的行数 numRows
,以从上往下、从左到右进行 Z 字形排列。
推导:
代码:
class Solution { public:string convert(string s, int numRows) {if (numRows < 2) {return s;}vector<string> rows(numRows);int i = 0, flag = -1;for (char c : s) {rows[i].push_back(c);if (i == 0 || i == numRows - 1) {flag = -flag;}i += flag;}string res;// 这里是常引用,注意与 指向常量的指针,指针类型的常量(常指针)进行区分for (const string &row : rows) {res += row;}return res;} };