我和答案第一种解法是很相似的  但是时间 和空间都被大部分人击败了。

思路就是用一个标记  为0就竖着走 为1就斜着走 把二维数组填满

我觉得难点在于PHYTON如何创建一个二维数组  而且是不定长的

最后想出了竖着来  append的方法

不过这样好像时间复杂度爆炸了

def convert(s, numRows):
"""
:type s: str
:type numRows: int
:rtype: str
"""
rel = '' #创建记录结果的字符串
strlist = [[0]*numRows] #根据python习惯 我觉得创建一个竖起来的数组更好操作一点。
count = 0
row = 0
col = 0 #标记当前填写的行列
flag = 0 #标记这次填写是填竖着的还是填斜着的。
if numRows == 1 :
return s
for i in s:
if flag == 0:
strlist[row][col] = i
col += 1
if col == numRows-1 :
flag = 1
elif flag == 1:
strlist.append([0]*numRows)
strlist[row][col] = i
row += 1
col -= 1
if col == 0:
flag = 0
for col in range(numRows):
for each in strlist:
if each[col] != 0:
rel += each[col] return (rel)

最新文章

  1. bzoj4571: [Scoi2016]美味
  2. spread 程序调试时,未激活的提示解决
  3. Timer 实现2秒4秒连环炸
  4. MagSpoof:能预测并窃取你下一张信用卡号码的廉价设备
  5. 各种语言简单的输出Hello World
  6. JIRA官方:为什么要用JIRA?
  7. 怎样用U盘安装Ubuntu系统/ubuntu系统怎么安装
  8. What is HHVM?
  9. 对Spring运用的一些思考
  10. 吴恩达机器学习笔记5-Octave基本操作
  11. go跨平台编译
  12. C/S和B/S应用程序的区别
  13. MAC book 无法删除普通用户的解决办法
  14. tomcat查看并修改jvm大小
  15. css定位研究
  16. MongoDB 聚合嵌入的数组(扁平化数据+管道)
  17. Spark2.x学习笔记:Spark SQL快速入门
  18. python 模拟windows键盘按键的封装
  19. Spring bean是如何加载的
  20. JavaWeb基础——JSON

热门文章

  1. leetcode 24. 两两交换链表中的节点 及 25. K 个一组翻转链表
  2. [源码分析] Facebook如何训练超大模型 --- (2)
  3. 配置vscode的C++环境Unexpected GDB output from command "-environment-cd
  4. AOP-底层原理(JDK动态代理实现)
  5. Javascript之递归求裴波那契数
  6. 正向代理 、反向代理, 和 Linux系统配置nginx。
  7. plsql 存储过程 介绍。
  8. SP419/422 TRANSP(2) - Transposing is Fun
  9. JavaIO 思维导图
  10. nodejs 文件上传服务端实现