给你一个 m
行 n
列的矩阵 matrix
,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
vector<int> res;
int m=matrix.size();
int n=matrix[0].size();
int all=m*n;
int i=0,j=0;
while(res.size()<all){
while(j<n&&matrix[i][j]!=999){
res.push_back(matrix[i][j]);
matrix[i][j]=999;
j++;
}
j--;
i++;
while(i<m&&matrix[i][j]!=999){
res.push_back(matrix[i][j]);
matrix[i][j]=999;
i++;
}
i--;
j--;
while(j>=0&&matrix[i][j]!=999){
res.push_back(matrix[i][j]);
matrix[i][j]=999;
j--;
}
j++;
i--;
while(i>=0&&matrix[i][j]!=999){
res.push_back(matrix[i][j]);
matrix[i][j]=999;
i--;
}
i++;
j++;
}
return res;
}
};