顺时针打印矩阵
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printMatrix(int [][] matrix) {
ArrayList<Integer> res=new ArrayList<Integer>();
int row=matrix.length-1;
int column=matrix[0].length-1;
int r=0;
int c=0;
while(r<=row&&c<=column){
for(int i=c;i<=column;i++){
res.add(matrix[r][i]);
}
for(int i=r+1;i<=row;i++){
res.add(matrix[i][column]);
}
for(int i=column-1;i>=c&&r<row;i--){
res.add(matrix[row][i]);
}
for(int i=row-1;i>r&&c<column;i--){
res.add(matrix[i][c]);
}
r++;
c++;
row--;
column--;
}
return res;
}
}
r,c代表当前打印圈的左上角,打印最后面两条边时另一个轴是否超出范围。