6. N 字形变换(中)

题目

题解

class Solution:
    def convert(self, s: str, numRows: int) -> str:
        if numRows < 2:  # 如果行数小于2,不需要转换,直接返回原始字符串
            return s
        res = ["" for _ in range(numRows)]  # 创建一个列表,用于存储按行转换后的字符串
        i, flag = 0, -1  # 初始化行数和递增/递减标志
        for c in s:  # 遍历输入字符串中的每个字符
            res[i] += c  # 将当前字符添加到对应行的字符串中
            if i == 0 or i == numRows - 1:  # 如果是第一行或最后一行
                flag = -flag  # 改变递增/递减标志,实现在行之间来回移动
            i += flag  # 根据递增/递减标志更新行数
        return "".join(res)  # 将转换后的每行字符串拼接起来并返回
posted @   Frommoon  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示