您的位置:首页 > 其它

顺时针打印矩阵

2017-04-13 20:38 197 查看
题目描述:

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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 class Solution25 {
public static ArrayList<Integer> printMatrix(int[][] matrix){
ArrayList<Integer> arrayList = new ArrayList<Integer>();
for (int i=0;i<matrix.length;i++){
arrayList.add(matrix[0][i]);  //第一行
}
for (int j=1;j<matrix.length;j++){
arrayList.add(matrix[j][matrix.length-1]); //右边一列
}
for(int k=2;k>=0;k--){
arrayList.add(matrix[matrix.length-1][k]);//最下边一行
}
for (int f=matrix.length-2;f>=1;f--){
arrayList.add(matrix[f][0]); //最左边一列
}
for(int g=1;g<matrix.length-1;g++){
arrayList.add(matrix[1][g]); //内圈第二行
}
for(int d=matrix.length-2;d>0;d--){
arrayList.add(matrix[matrix.length-2][d]);
}
return arrayList;
}
public static void main(String args[]){
int[][] a = {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16}
};
System.out.println("输出:"+printMatrix(a));
}
}

//输出:[1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10]

//        Process finished with exit code 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  arraylist