返回zigzag后的字符串(leetcode题)

先找出不变部分,从上到下时,全部增加,每次在向上遍历时,跳过最后一行和第一行。
function convert(str,count){ res={} for (let j =0; j<count;j++){ res[j] ='' } //跳过不一致的地方,向下的时候,不跳过任何,向上的时候,跳过最后一个和第一个。 let sl = str.length; let k=0; while(k<sl){ //正序 console.log("str[k]",str[k]) for(let idx=0;idx <count && k<sl;idx++){ res[idx] += str[k++] } //倒叙,避开最后一行和第一行 for(let j=count-2;j>0 && k<sl;j--){ res[j]+= str[k++] } } let ret =''; for (let key in res){ ret = ret + res[key] } return ret } convert("paypalishiring",3)
浙公网安备 33010602011771号