package question29_print_matrix;
/**
* @Classname Solution
* @Description TODO
* @Date 2020/3/27 11:06
* @Created by mmz
*/
public class Solution {
void PrintMatrix(int[][] numbers,int colunms,int rows){
if(numbers == null || colunms<=0||rows<=0){
return;
}
int start = 0;
while(colunms > start*2 && rows> start *2){
PrintMatrixInCircle(numbers,colunms,rows,start);
++start;
}
}
void PrintMatrixInCircle(int[][] numbers,int columns,int rows,int start){
int endx = columns-start-1;
int endy = rows-start-1;
for(int i = start;i<=endx;++i){
int number = numbers[start][i];
System.out.println(number);
}
if(start<endy){
for(int i =start+1;i<=endy;++i){
int number = numbers[i][endx];
System.out.println(number);
}
}
if(start <endx && start <endy){
for(int i = endx-1;i>=start;--i){
int number =numbers[endy][i];
System.out.println(number);
}
}
if(start<endx && start<endy-1){
for(int i = endy -1;i>=start+1;--i){
int number = numbers[i][start];
System.out.println(number);
}
}
}
}
20200327——剑指offer 面试题29:顺时针打印矩阵
最新推荐文章于 2022-05-07 10:18:32 发布