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 @ 2023-12-29 21:49  Frommoon  阅读(3)  评论(0编辑  收藏  举报