不难,就是麻烦
class Solution {
public:
vector<int> printMatrix(vector<vector<int> > matrix) {
vector<int> ans;
int n=matrix.size();
if(n==0) return ans;
int m=matrix[0].size();
int i=0, j=0;
int tag, k;
int len=n*m;
for(k=0;;k++){
for(tag=1;tag<=4;tag++){
switch(tag){
case 1:{
while(j<m-k){
len--;
ans.push_back(matrix[i][j++]);
}
j--;
i++;
break;
}
case 2:{
while(i<n-k){
len--;
ans.push_back(matrix[i++][j]);
}
i--;
j--;
break;
}
case 3:{
while(j>=k){
len--;
ans.push_back(matrix[i][j--]);
}
j++;
i--;
break;
}
case 4:{
while(i>k){
len--;
ans.push_back(matrix[i--][j]);
}
i++;
j++;
break;
}
}
if(len==0) return ans;
}
}
return ans;
}
};