题目描述

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

 # -*- coding:utf-8 -*-
class Solution:
# matrix类型为二维列表,需要返回列表
def printMatrix(self, matrix):
# write code here
def help(topRow,topCol,botRow,botCol): if topRow == botRow:#只有一行:
while topCol <=botCol:
res.append(matrix[topRow][topCol])
topCol+=1
elif topCol == botCol:#只有一行
while topRow<=botRow:
res.append(matrix[topRow][topCol])
topRow+=1
else:
curCol=topCol
curRow=topRow
while curCol<botCol:
res.append(matrix[topRow][curCol])
curCol+=1
while curRow<botRow:
res.append(matrix[curRow][botCol])
curRow+=1
while curCol>topCol:
res.append(matrix[botRow][curCol])
curCol-=1
while curRow>topRow:
res.append(matrix[curRow][topCol])
curRow-=1
if len(matrix)==1:
return matrix[0]
res=[]
topRow=0
topCol=0
botRow=len(matrix)-1
botCol=len(matrix[0])-1 while topRow<=botRow and topCol<=botCol:
help(topRow,topCol,botRow,botCol)
topRow+=1
topCol+=1
botRow-=1
botCol-=1
return res

最新文章

  1. cs11_adventure c++_lab1
  2. C#应用程序获取项目路径的方法总结
  3. MVC 学习随笔(一)
  4. CoreData多表操作.
  5. c++ 类名和enum时重复时要在类名前加class::
  6. GNU C的使用
  7. Deploy Oracle 10.2.0.5 on Red Hat Enterprise Linux 6.4
  8. C语言第十一次博客作业---函数嵌套调用
  9. 安卓Toast自定义及防止重复显示
  10. @Controller @RestController
  11. .NET面试题01-值类型与引用类型
  12. 服务器 nginx配置 防止其他域名绑定自己的服务器
  13. 自己实现数据结构系列一---ArrayList
  14. Eureka-zookeeper的服务发现替代方案
  15. strcmp用法
  16. 黄聪: bootstrap 多模态框实现
  17. vc++获取网页源码之使用import+智能指针包装类
  18. ORM对单表的增删改查
  19. 在window主机上访问virtualbox虚拟机上centos7的tomcat服务
  20. 关于Vue的nextTick的一点小理解

热门文章

  1. 使用FreeHttp任意篡改http报文 (FreeHttp使用及实现说明)
  2. 在IOS系统中微信浏览器input输入框输入值无效
  3. 记一次nginx配置伪静态规则
  4. Java锁机制ReentrantLock
  5. mysql——视图——概念
  6. 使用graphics.h来绘制图形
  7. 反复横跳的瞄准线!从向量计算说起!基于射线检测的实现!Cocos Creator!
  8. Linux下路由配置梳理(转)
  9. Axios 的基本使用
  10. WebService概念解释