class Printer {
public:
vector<int> printMatrix(vector<vector<int> > mat, int n, int m) {
// write code here
vector<int> arr;
int row=0;int col=0;int flag=0;
if(n%2!=0){
n=n-1;//如果行数是奇数可以先打印前面(n-1)偶数行
flag=1;
}
if(n%2==0){
while(1){
while(row<n&&col<m){
arr.push_back(mat[row][col]);
col++;//打印从左到右
}
col=m-1;
row++;
while(row<n&&col>=0){
arr.push_back(mat[row][col]);
col--;//打印从右到左
}
col=0;
row++;
if(row==n)
break;
}
}
if(flag){//行数是奇数
col=0;
while(col<m){//补充打印最后一行
arr.push_back(mat[n][col]);
col++;
}
}
return arr;
}
};
之字形打印矩阵
最新推荐文章于 2022-09-29 10:00:56 发布