本文共 817 字,大约阅读时间需要 2 分钟。
将字符串 “PAYPALISHIRING” 以Z字形排列成给定的行数:
P A H N
A P L S I I G Y I R 之后从左往右,逐行读取字符:”PAHNAPLSIIGYIR”实现一个将字符串进行指定行数变换的函数:
string convert(string s, int numRows);
示例 1:输入: s = “PAYPALISHIRING”, numRows = 3
输出: “PAHNAPLSIIGYIR” 示例 2:输入: s = “PAYPALISHIRING”, numRows = 4
输出: “PINALSIGYAHRPI” 解释:P I N
A L S I G Y A H R P I每numRows-1个一组,循环进行向下和向右上移动
var convert = function(s, numRows) { if(numRows==1||s.length<=numRows){ return s; } var dd=[]; //定义储存的二维数组 for(var i=0;i0){ dd[m][n]=s[i]; m++; dm--; if(dm==0){tt=numRows-1;} } //向右上移动 else if(tt>0){ dd[m][n]=s[i]; m--; n++; tt--; if(tt==0){dm=numRows-1;} } } var ff=[]; //合并每一行 for(var i=0;i