对于一个矩阵,请设计一个算法,将元素按“之”字形打印。具体见样例。 给定一个整数矩阵mat,以及它的维数n x m,请返回一个数组,其中元素一次为打印的数字。 测试样例:java
[[1,2,3],[4,5,6],[7,8,9],[10,11,12]], 4, 3 返回:[1, 2, 3, 6, 5, 4, 7, 8, 9, 12, 11, 10]
经过判断行数的奇偶性,从而决定打印的方向。算法
// Java (javac 1.7) import java.util.*; public class Printer { public int[] printMatrix(int[][] mat, int n, int m) { int[] rst = new int[n * m]; int index = 0; for (int i = 0; i < n; i++) { if (i % 2 == 1) { for (int j = m - 1; j >= 0; j--) { rst[index++] = mat[i][j]; } } else { for (int j = 0; j < m; j++) { rst[index++] = mat[i][j]; } } } return rst; } }