题目

将一个给定字符串根据给定的行数numRows,以从上往下、从左到右进行 Z 字形排列。
比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:

之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。

思路

利用长度为numRows的数组,第i个元素表示第i行包含的字符。利用flag控制Z字前进方向,如果当前在第一行或最后一行则改变Z字前进方向。

代码

class Solution:def convert(self, s: str, numRows: int) -> str:if numRows<2:return sresult=["" for i in range(numRows)]#创建长度为numRows的空数组flag,i=-1,0for a in s:#遍历字符串result[i]+=a#第i行加上对应字符if i == 0 or i == numRows-1:#改变Z字前进方向flag=-flagi+=flagreturn "".join(result)#数组合成字符串

LeetCode6-Z字形变换相关推荐

  1. leetcode6. Z 字形变换

    将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L   C   I   ...

  2. leetcode6 Z字形变换 python

    题目: 将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数: P A H N A P L S I I G Y I R之后从左到右"PAHNAPLSIIG ...

  3. leetcode题库:6. Z字形变换

    题目: /**题目:6. Z字形变换(题目地址:https://leetcode-cn.com/problems/zigzag-conversion/description/)  * 将字符串 &qu ...

  4. Z 字形变换 C++实现 java实现 leetcode系列(六)

    Z 字形变换  java实现 C++实现  将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 ...

  5. java z+_Java Z 字形变换

    – 题目:Z 字形变换 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: ...

  6. 【LeetCode】6.Z 字形变换

    6.Z 字形变换 我的思路貌似没有第二家,不过我懒得解释了. #include <string> #include <iostream> using namespace std ...

  7. LeetCode Algorithm 6. Z 字形变换

    6. Z 字形变换 Ideas 这题的思路其实只要想到了就很简单,首先创建一个numRows行的矩阵,每一行用来存Z字变换后每一行的字符,然后遍历字符串s,其实就是从上往下然后从下往上填充到每一行,所 ...

  8. [模拟|字符串] leetcode 6 Z字形变换

    [模拟|字符串] leetcode 6 Z字形变换 1.题目 题目链接 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHI ...

  9. leetcode第六题Z字形变换心得记录

    算法学习之路-坚持走下去 Z字形变换 题目描述 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行 ...

  10. LeetCode——6. Z 字形变换

    6. Z 字形变换(中等难度) 题目描述: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING ...

最新文章

  1. 4g内存只有1.6g可用_32位系统可用内存小 遇到32位系统内存小的解决方法
  2. Struts2(批量类型转换器struts2.3.4)
  3. 推荐一个高质量的git命名查询和学习的github仓库git-recipes
  4. mac SecureCRT设置
  5. c++面向对象高级编程 学习十 function-like classes
  6. 推荐两个漂亮的编程字体
  7. QODBC查询Oracle中文乱码问题
  8. 安卓手机投屏到台式电脑非常简单,系统工具就成
  9. 跳槽理由—你的跳槽理由合理吗
  10. 【MATLAB图像处理】图像复原
  11. PS更新升级Adobe Camera Raw(ACR)15.3
  12. python俄罗斯方块小游戏实验报告,童年的记忆——如何用python写一个俄罗斯方块小游戏!...
  13. E-Training在线学习系统(汉堡王定制版)
  14. 医用IT隔离电源在医院特殊场所接地系统的应用
  15. 【FLASH存储器系列六】SPI NOR FLASH芯片使用指导之二
  16. 阿里云IoTStudio中的“移动可视化开发” 重新登场了--让开发APP不再难
  17. 用标签打印软件制作矢量格式的条码
  18. 漏洞复现----12、Apache Flink目录穿越漏洞(CVE-2020-17519 )
  19. cmstop传递什么控制器和方法---就实例化该控制器
  20. WPF和Silverlight到底有什麼不同?

热门文章

  1. 云原生时代下的12-factor应用与实践
  2. 一起来造一个RxJava,揭秘RxJava的实现原理
  3. 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务
  4. 数据库:B+树索引和Hash索引得区别
  5. mysql子查询教行子查询_MySQL中列子查询与行子查询操作的学习教程
  6. springboot 整合mybatis_SpringBoot整合MyBatis框架快速入门
  7. 线程的几种状态_拜托:不要再问我线程有多少种状态了
  8. “东数西算”工程正式启动,全面解读来了!
  9. 有一种灾难,叫数据中心被大火烧了
  10. qt定时器是阻塞的吗_吊打面试官 | 面试官:TCP真的可靠吗