一、题目描述
给定一个矩阵matrix,按照“Z”字形的方式打印这个矩阵。
样例输入:
1 2 3 4
5 6 7 8
9 10 11 12
输出:
1 2 5 9 6 3 4 7 10 11 8 12
二、思路及其代码实现
分析:直接关注斜线方向(左下到右上,右上到左下)的打印,遇到边界决定横向走还是竖着走。
关键:如何选取变量。
这里选了三个:
curRow —— 当前元素的行;
curCol —— 当前元素的列;
flag —— 标志位,标记斜向走方向:true左下走到右上,false右上走到左下;
/**
* Z形打印矩阵
* @param ma
*/
private static void printZ(int[][] ma) {
int rows = ma.length;//总行数
int cols = ma[0].length;//总列数
int cu