leetcodeZ字形变换第1363题python
描述
给定一个字符串 s 和一个整数 numRows. 你需要把 s 排布成一个 numRows 行的 “之” 字形. 然后返回逐行阅读的结果.
注意, “之” 字形是按照 下->右上->下->右上…的方向延伸的.
| /| /|
| / | / | …
| / | / | …
|/ |/ |/
样例
样例 1:
输入: “PAYPALISHIRING”, numRows = 3
输出: “PAHNAPLSIIGYIR”
解释:
转换之后我们会得到
P A H N
A P L S I I G
Y I R
一行一行地读, 得到答案: “PAHNAPLSIIGYIR”.
样例 2:
输入: “PAYPALISHIRING”, numRows = 4
输出: “PINALSIGYAHRPI”
解释:
转换之后我们会得到
P I N
A L S I G
Y A H R
P I
一行一行地读, 得到答案: “PINALSIGYAHRPI”.
样例 3:
输入: “PAYPALISHIRING”, numRows = 1
输出: “PAYPALISHIRING”
解释:
转换之后我们会得到
PAYPALISHIRING
一行一行地读, 得到答案: “PAYPALISHIRING”.
#解释
rows = [’’]* min(numRows, len(s))
假设numRows=4,len(s)=10
rows=[’’, ‘’, ‘’, ‘’]。生成的是用于存储字符的几个行。
大概意思:
(1)生成几个的’’,个数=rows ,假设rows=4
(2)遍历字符串
(3)将字符串第一个字符传入第一个’’.将第二个字符传入第二个’’.
将第三个字符传入第三个’’,将第四个字符传入第四个’’。
(4)currow到达底部后, '‘逆序读取字符,即第三个’‘开始读取,然后第二个’‘读取,最后第一个’'读取
(5)currow到达顶部后, '‘再次顺序读取字符,第二个’‘读取,,再第三个’‘读取,最后到达底部,第四个’'读取。
不断重复4,5,直到读取完所有字符
总结
以上是生活随笔为你收集整理的leetcodeZ字形变换第1363题python的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 28摄氏度电子烟会炸吗电子烟会爆炸吗?
- 下一篇: leetcode 寻找重复的数633 p