Wins the Offer (Java version) twenty fourth question: Clockwise Matrix Print

/ *
Clockwise print matrix
* /
public class Class24 {

public void printMatrix (int [] [] Matrix) {
IF (matrix.length Matrix == null || <= 0) {
return;
} the else {
printMatrixCircle (Matrix, 0 );
}
}
// index representative of a control symbol to control a range of print
public void printMatrixCircle (int [] [] Matrix, int index) {
int Row = matrix.length;
int COL = Matrix [0] .length;
int COL = endX, - index -. 1;
int endY = Row - index -. 1;
IF (endX, <|| endY index <index) {
return;
}
// only one
IF (== endX, index) {
for (int I = index ; I <= endY; I ++) {
of System.out.print (Matrix [I] [index] + "");
}
return;
}
//仅一行
if(endY == index){
for(int i = index; i <= endX; i++){
System.out.print(matrix[index][i] + " ");
}
return;
}
//开始打印边界
//步骤一
for(int i = index; i <= endX; i++){
System.out.print(matrix[index][i] + " ");
}
//步骤二
for(int i = index + 1; i <= endY; i++){
System.out.print(matrix[i][endX] + " ");
}
//步骤三
for(int i = endX - 1; i >= index; i--){
System.out.print(matrix[endY][i] + " ");
}
//步骤四
for(int i = endY - 1; i >= index + 1; i--){
System.out.print(matrix[i][index] + " ");
}
printMatrixCircle(matrix,index + 1);
}

public void test(int[][] matrix){
printMatrix(matrix);
}

public static void main(String[] args) {
// TODO Auto-generated method stub
Class24 c = new Class24();
int[][] a = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
c.printMatrix(a);
}

}

Guess you like

Origin www.cnblogs.com/zhuozige/p/12507121.html