剑指Offer-顺时针打印矩阵

题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数
字,例如,如果输入如下 4X4 矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
思路:按层模拟:终止行号大于起始行号,终止列号大于起始列号

	public void spiralOrder(int[][] matrix) {
		if(matrix.length == 0) {
			System.out.println("null");   
		}
		int bot = 0;
		int low = matrix.length;
		int left = 0;
		int right = matrix.length;
		while(bot < low && left < right) {
			for(int i = left;i < right;i++) {
				System.out.println(matrix[bot][i]);
			}
			bot++;
			for(int i = bot;i < low;i++) {
				System.out.println(matrix[i][right]);
			}
			right--;
			for(int i = right;i > left;i++) {
				System.out.println(matrix[low][i]);
			}
			low--;
			for(int i = low;i > bot;i++) {
				System.out.println(matrix[left][i]);
			}
			left++;
		}
	}
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页