var convert = function (s, numRows) { if (numRows === 1) return s; // 如果是1直接返回本身 let resultArr = new Array(numRows).fill(‘‘); // 创建一个存字符串数组装模拟法分割出的字符串 s = s.split(‘‘); let i = 0; // 记录当前在第几行 let down = true; // 记录当前应该向上还是向下 s.forEach(item => { resultArr[i] += item; // 字符串数组的第i行拼接item if (i === numRows - 1) down = false; // 如果到了最后一行则改变方向向上 else if (i === 0) down = true; // 如果是第一行则向下 if (down) i++; else i--; }); let result = ‘‘; for (let i = 0; i < resultArr.length; i++) { result += resultArr[i]; // 字符串数组拼接成结果返回 } return result; };
原文:https://www.cnblogs.com/lanpang9661/p/12484559.html