顺时针打印矩阵
public class Day10071 {
public int[] spiralOrder(int [][] matrix){
if(matrix.length==0) return new int[0];
int l=0,r=matrix[0].length-1,t=0,b=matrix.length-1,x=0;
int [] res=new int[(r+1)*(b+1)];
while(true){
//从左往右
for(int i=l;i<=r;i++) res[x++]=matrix[t][i];//;left to right
if(++t>b) break;
//从上倒下
for(int i=t;i<=b;i++) res[x++]=matrix[i][r];
if(l>--r) break;
//从右往左
for(int i=r;i>=l;i--) res[x++]=matrix[b][i];
if(t>--b)break;
//从下往上
for(int i=b;i>=t;i--) res[x++]=matrix[i][l];
if(++l>r)break;
}
return res;
}
}
参考文献
https://leetcode-cn.com/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/