您的位置:首页 > Web前端

剑指offer20:顺时针打印矩阵

2017-03-31 17:16 369 查看
/**
* Created by WHZ on 2017/3/31.
*/
public class offer20 {
void PrintMatrixClockwisely(int[][] numbers){
if(numbers==null||numbers.length<=0) return;
int start = 0;
int rows = numbers.length;
int columns = numbers[0].length;
while(columns>start*2&&rows>start*2){
PrintMatrixInCircle(numbers,columns,rows,start);
start++;
}
}

private void PrintMatrixInCircle(int[][] numbers, int columns, int rows, int start) {
int endX = columns-1-start;
int endY = rows-1-start;
for(int i=start;i<=endX;i++){
System.out.print(numbers[start][i]);
}
if(start<endY){
for(int i=start+1;i<=endY;i++){
System.out.print(numbers[i][endX]);
}
}
if(start<endX&&start<endY){
for(int i=endX-1;i>=start;i--){
System.out.print(numbers[endY][i]);
}
}
if(start<endX&&start<endY-1){
for(int i=endY-1;i>=start+1;i--){
System.out.print(numbers[i][start]);
}
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  剑指offer