题目描述

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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.
 
class Solution {
public:
vector<int> printMatrix(vector<vector<int> > matrix) {
vector<int>vt;
int row = matrix.size();
int col = matrix[0].size();
int ri=0,rj=row-1,ci=0,cj=col-1,i=0,j=0;
while(ci<=cj&&ri<=rj){
for(j=ci;j<=cj;j++){
vt.push_back(matrix[ri][j]);
}
ri++;
if(ci>cj||ri>rj)break;
for(i=ri;i<=rj;i++){
vt.push_back(matrix[i][cj]);
}
cj--;
if(ci>cj||ri>rj)break;
for(j=cj;j>=ci;j--){
vt.push_back(matrix[rj][j]);
}
rj--;
if(ci>cj||ri>rj)break;
for(i=rj;i>=ri;i--){
vt.push_back(matrix[i][ci]);
}
ci++;
}
return vt;
}
};

  

最新文章

  1. Android面试技巧 找安卓开发工作同学可以看看!
  2. Python join()函数
  3. 【简易版】Java ArrayList(增删改查)
  4. CodeForces 686C-Robbers&#39; watch
  5. TestNG之Factory
  6. HDU 2084 数塔(动态规划)
  7. 应用apache FileUtils把网页另存为文件
  8. java 中常见异常
  9. microsoft visual studio 不能逐句执行?
  10. 在imge控件中直接显示图片(图片是byte[]格式)
  11. POJ-1006 Biorhythms
  12. 发布Qt Quick桌面应用程序的方法
  13. ExtJS4.2 - 从 Hello World 到 自定义组件 -01 (为爱女伊兰奋斗)
  14. 在内网架设一个可供外网登录的ftpserver
  15. 67、django之模型层(model)--查询补充及mookie
  16. HDU Today(最短路)
  17. 15 Django REST Framework 给api添加自定义搜索条件
  18. react基础学习 二——生命周期
  19. Hbase存储模式
  20. Centos 升级 python

热门文章

  1. selenium-确认进入了预期页面(四)
  2. Keepalived脑裂
  3. 指定IP地址进行远程访问服务器设置方法(windows系统)
  4. deepin 15.8桌面系统
  5. 文本分类实战(十)—— BERT 预训练模型
  6. python中的struct模块的学习
  7. matlab读取cvs文件的几种方法
  8. JS深度判断两个对象字段相同
  9. hbase集群搭建参考资料
  10. JS 面向对象 ~ 继承的7种方式