將一個給定字符串根據(jù)給定的行數(shù),以從上往下、從左到右進(jìn)行 Z 字形排列。
比如輸入字符串為 "LEETCODEISHIRING" 行數(shù)為 3 時,排列如下:

之后,你的輸出需要從左往右逐行讀取,產(chǎn)生出一個新的字符串,比如:"LCIRETOESIIGEDHN"。
請你實現(xiàn)這個將字符串進(jìn)行指定行數(shù)變換的函數(shù):
string convert(string s, int numRows);
示例 1:
輸入: s = "LEETCODEISHIRING", numRows = 3
輸出: "LCIRETOESIIGEDHN"
示例 2:
輸入: s = "LEETCODEISHIRING", numRows = 4
輸出: "LDREOEIIECIHNTSG"
解釋:

/**
* @param {string} s
* @param {number} numRows
* @return {string}
*/
var convert = function(s, numRows) {
if (numRows == 1) {
return s;
}
let arrs = [], i
for(i = 0; i < numRows; i++) {
arrs[i] = "";
}
var pos = 0, flag = 1; //pos為寸到哪一行的字符串,flag控制方向
for(i = 0; i < s.length; i++) {
arrs[pos] += s.charAt(i);
if (pos + flag < 0 || pos + flag >= numRows) {//越界變向
flag = -flag;
}
pos += flag
}
var str = ""
for(i = 0; i < numRows; i++) {
str += arrs[i];
}
return str;
};
思路:

image.png
將字符存入對應(yīng)的數(shù)組,最后拼接即可
————————
想要學(xué)習(xí)Cocos的同學(xué),歡迎關(guān)注我的零基礎(chǔ)Cocos教程
https://ke.qq.com/course/313749