顺时针打印矩阵
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.
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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
相关文章推荐
- 顺时针打印矩阵
- 29、顺时针打印矩阵
- 顺时针打印矩阵
- 算法题0003-顺时针转圈打印矩阵
- 编程 顺时针打印矩阵
- 顺时针打印矩阵
- java顺时针、逆时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 剑指offer系列之18:顺时针打印矩阵
- 剑指Offer(Java版):顺时针打印矩阵
- 剑指OFFER——顺时针打印矩阵
- 算法题/顺时针打印矩阵
- [剑指offer][面试题20]顺时针打印矩阵
- 剑指Offer之面试题20:顺时针打印矩阵
- 剑指offer-顺时针打印矩阵
- 剑指Offer_19_顺时针打印矩阵
- 剑指offer 面试题20:顺时针打印矩阵及其变形(LeetCode54. Spiral Matrix旋转矩阵) 题解
- 剑指Offer-20-顺时针打印矩阵
- 输入一个矩阵,按照从外向里顺时针的顺序依次打印出每一个数字