Golang | Leetcode Golang题解之第6题Z字形变换

题目:

题解:

func convert(s string, numRows int) string {
    n, r := len(s), numRows
    if r == 1 || r >= n {
        return s
    }
    t := r*2 - 2
    ans := make([]byte, 0, n)
    for i := 0; i < r; i++ { // 枚举矩阵的行
        for j := 0; j+i < n; j += t { // 枚举每个周期的起始下标
            ans = append(ans, s[j+i]) // 当前周期的第一个字符
            if 0 < i && i < r-1 && j+t-i < n {
                ans = append(ans, s[j+t-i]) // 当前周期的第二个字符
            }
        }
    }
    return string(ans)
}

相关推荐

  1. 力扣——Z字形变换

    2024-04-04 00:52:02       27 阅读
  2. Z字形变换

    2024-04-04 00:52:02       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 00:52:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 00:52:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 00:52:02       82 阅读
  4. Python语言-面向对象

    2024-04-04 00:52:02       91 阅读

热门阅读

  1. 蓝桥杯刷题--python-36

    2024-04-04 00:52:02       34 阅读
  2. how to Optimize mysql select clause

    2024-04-04 00:52:02       35 阅读
  3. flutter一个bloc可以对应多个state

    2024-04-04 00:52:02       34 阅读
  4. 讨论 OpenSIPS 预加载路由的问题

    2024-04-04 00:52:02       44 阅读
  5. 【电路笔记】-逻辑与门

    2024-04-04 00:52:02       43 阅读