网站开发 海淀,黄岐建网站,微博营销案例,网站营销网输入一个矩阵#xff0c;按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1#xff1a;
输入#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出#xff1a;[1,2,3,6,9,8,7,4,5] 示例 2#xff1a;
输入#xff1a;matrix [[1,2,3,4],[5,6,7,8],[9,10,11,12]…输入一个矩阵按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1
输入matrix [[1,2,3],[4,5,6],[7,8,9]] 输出[1,2,3,6,9,8,7,4,5] 示例 2
输入matrix [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 输出[1,2,3,4,8,12,11,10,9,5,6,7]
限制
0 matrix.length 100 0 matrix[i].length 100
代码
class Solution { public int[] spiralOrder(int[][] matrix) { int m matrix.length; if(m0) { int nums[] new int[m]; return nums; } int n matrix[0].length; int nums[] new int[m*n]; if(matrix.length0) { return nums; } int k 0,count0; while(countm*n) { for(int ik;imatrix[0].length-k;i) { nums[count]matrix[k][i]; } if(countm*n) break; for(int ik1;imatrix.length-k;i) { nums[count] matrix[i][matrix[0].length-k-1]; } if(countm*n) break; for(int imatrix[0].length-k-2;ik;i--) { nums[count] matrix[matrix.length-1-k][i]; } if(countm*n) break; for(int imatrix.length-2-k;ik;i--) { nums[count] matrix[i][k]; } if(countm*n) break; k; } return nums; }
}