面試題20:順時針打印矩形

題目:輸入一個矩形,按照從外向裏以順時針的順序依次打印出每個數字

思路:打印即可

public class PrintMatrixClockwisely {
	public static void main(String[] args) {
		int[][] a = {
				{1,2,3,4},
				{5,6,7,8},
				{9,10,11,12}
		};
		printMatrixClockwisely(a);
	}
	public static void printMatrixClockwisely(int[][] a){
		if(a==null || a.length==0)
			return;
		int all = a.length*a[0].length;
		boolean[][] book = new boolean[a.length][a[0].length];
		int width = a[0].length;
		int height = a.length;
		int i =0;
		int j =0;
		while(all>0){
			while(all>0 && j0 && i0 && j>=0 && !book[i][j]){
				book[i][j]=true;
				System.out.print(a[i][j]+" ");
				j--;
				all--;
			}
			j++;
			i--;
			while(all>0 && i>=0 && !book[i][j]){
				book[i][j]=true;
				System.out.print(a[i][j]+" ");
				i--;
				all--;
			}
			i++;	
			j++;
		}
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章