/**
* 順時針打印矩陣
*
* @param arr
*/
public void printMatrixClockwisely(int[][] arr) {
if (null == arr || 0 == arr.length) return;
int x = arr.length;
int y = arr[0].length;
int start = 0;
while (x > start * 2 && y > start * 2) {
int endX = y - start - 1;
int endY = x - start - 1;
//從左到右打印
for (int i = start; i <= endX; i++) {
System.out.print(arr[start][i]);
}
if (start < endY) {
//從上到下打印
for (int i = start + 1; i <= endY; i++) {
System.out.print(arr[i][endX]);
}
}
if (start < endX && start < endY) {
//從右到左打印
for (int i = endX - 1; i >= start; i--) {
System.out.print(arr[endY][i]);
}
}
if (start < endX && start < endY - 1) {
//從下到上打印
for (int i = endY - 1; i >= start + 1; i--) {
System.out.print(arr[i][start]);
}
}
start++;
}
}
劍指Offer學習-面試題29:順時針打印矩陣
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.