public void matrixInSpiralOrder(int[][] squareMatrix) {
spiralPrint(squareMatrix.length, squareMatrix[0].length,squareMatrix);
}
public void spiralPrint(int endRow, int endColumn, int[][] squareMatrix){
int startRow = 0;
int startColumn = 0;
int i =0;
while (startRow < endRow && startColumn < endColumn){
for( i = startColumn ; i < endColumn ; i++){
System.out.print(squareMatrix[startRow][i] +" ");
}
startRow++;
for(i = startRow ; i < endRow ; i++){
System.out.print(squareMatrix[i][endColumn-1] +" ");
}
endColumn--;
if(startRow< endRow) {
for (i = endColumn-1; i >= startColumn; i--) {
System.out.print(squareMatrix[endRow-1][i] +" ");
}
endRow--;
}
if(startColumn < endColumn){
for(i = endRow-1 ; i >= startRow; i--){
System.out.print(squareMatrix[i][startColumn]+" ");
}
startColumn++;
}
}
}
Tuesday, July 11, 2017
Print matrix in spiral order
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment