class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
vector<int>ans;
if(matrix.empty()) return ans;
int s=0;
int x=matrix.size()-1;
int z=0;
int y=matrix[0].size()-1;
while(true){
//z-y s
for(int i=z ;i<=y ;i++) ans.push_back(matrix[s][i]);
s++;
if(s>x) break;
//s-x y
for(int i=s ;i<=x ;i++) ans.push_back(matrix[i][y]);
y--;
if(y<z) break;
//y-z x
for(int i=y ;i>=z ;i--) ans.push_back(matrix[x][i]);
x--;
if(x<s) break;
//x-s z
for(int i=x ;i>=s ;i--) ans.push_back(matrix[i][z]);
z++;
if(z>y) break;
}
return ans;
}
};
54. 螺旋矩阵
于 2022-01-18 20:07:36 首次发布