给你一个包含 m x n 个元素的矩阵 (m 行, n 列), 求该矩阵的之字型遍历。
您在真实的面试中是否遇到过这个题?
样例
对于如下矩阵:
[
[1, 2, 3, 4],
[5, 6, 7, 8],
[9,10, 11, 12]
]
返回 [1, 2, 5, 9, 6, 3, 4, 7, 10, 11, 8, 12]
class Solution {
public:
vector<int> printZMatrix(vector<vector<int> > &arr) {
vector<int> ret;
ret.push_back(arr[0][0]);
int n=arr.size();
int m=arr[0].size();
int j=1,i=1;
bool open=false;
while(true){
vector<int> tmp;
int x,y;
if(j<m){
x=0;
y=j++;
}else if(i<n){
y=m-1;
x=i++;
}else
break;
while(x<n&&y>=0)
tmp.push_back(arr[x++][y--]);
if(open)
reverse(tmp.begin(),tmp.end());
open=!open;
opy(tmp.begin(),tmp.end(),back_inserter(ret));
}
return ret;
}
};