【剑指offer系列】 顺时针打印矩阵___20
来源:互联网 发布:java异步请求数据 编辑:程序博客网 时间:2024/05/17 12:03
题目描述:
输入一个矩阵,按照从外到里的顺序顺时针打印每个值
示例:
分析:
对于每一圈,可能存在以下几种情况
因此对每个方向的打印都要先进行条件判断,判断是否需要打印这个方向
代码:
void printCircle(vector<vector<int> >&nums,int m,int n,int start){ int endCol=n-start-1; int endRow=m-start-1; for(int i=start;i<=endCol;++i){ cout<<nums[start][i]<<"\t"; } if(start<endRow){ for(int i=start+1;i<=endRow;++i){ cout<<nums[i][endCol]<<"\t"; } } if(start<endCol&&start<endRow){ for(int i=endCol-1;i>=start;--i){ cout<<nums[endRow][i]<<"\t"; } } if(start<endCol&&start<(endRow-1)){ for(int i=endRow-1;i>start;--i){ cout<<nums[i][start]<<"\t"; } } cout<<endl;}void printMatrix(vector<vector<int> >& nums){ int m=nums.size(); if(m==0) return; int n=nums[0].size(); for(int start=0;start*start<m&&start*start<n;++start){ printCircle(nums,m,n,start); }}
0 0
- 【剑指offer系列】 顺时针打印矩阵___20
- 剑指Offer系列---(22)顺时针打印矩阵
- 剑指offer系列-T20顺时针打印矩阵
- 剑指offer系列----顺时针打印矩阵
- 【剑指offer】顺时针打印矩阵
- 剑指offer--顺时针打印矩阵
- 剑指offer--顺时针打印矩阵
- 剑指offer 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- 《剑指offer》顺时针打印矩阵
- 剑指offer-顺时针打印矩阵
- 剑指offer 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- 剑指offer-顺时针打印矩阵
- 剑指offer 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- [剑指offer]顺时针打印矩阵
- 《剑指offer》-顺时针打印矩阵
- 第一个程序(C#)_使用Notepad.exe和csc.exe
- 使用db2获取某一行或者从N到M行结果
- python数据类型
- Java网络编程学习笔记(4)非阻塞通信
- 使用这些技巧,看看谷歌是否真的了解你?
- 【剑指offer系列】 顺时针打印矩阵___20
- Java内存和垃圾回收的知识学习
- Inception安装部署实现SQL自动审核与上线
- 小米Git
- 欢迎使用CSDN-markdown编辑器
- sqlite 操作二进制数据
- Bacula网络备份环境搭建
- PHP文件处理--写入文件
- 好玩的日期插件