码迷,mamicode.com
首页 > 其他好文 > 详细

Z字形变换

时间:2020-06-21 20:25:08      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:class   变换   ret   array   leecode   bar   bsp   row   pre   

将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。

function convert(s, numRows) {
    if(numRows == 1){
        return s
    }
    let arr = []
    for(let i = 0;i < s.length;i++){
        let subArr = new Array(numRows)
        let item = s[i]
        if(arr.length % (numRows-1) == 0){
            for(let j = 0;j < numRows;j++){
                subArr[j] = s[i+j]
            }
            i += (numRows-1)
            arr.push(subArr)
        }else{
            subArr[numRows - arr.length % (numRows-1) -1] = item
            arr.push(subArr)
        }
    }
    let str = ‘‘
    for(let i = 0;i < numRows;i++){
        for(let j = 0;j < arr.length;j++){
            str +=  arr[j][i]?arr[j][i] :‘‘  
        }
    }
    return str
}

Leecode提交通过

Z字形变换

标签:class   变换   ret   array   leecode   bar   bsp   row   pre   

原文地址:https://www.cnblogs.com/zhenjianyu/p/13173646.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!