之字形打印矩陣

題目描述

對於一個矩陣,請設計一個算法,將元素按「之」字形打印。具體見樣例。 給定一個整數矩陣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;
    }
}
相關文章
相關標籤/搜索