螺旋矩阵高效解法(:
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
int em=matrix.size();
int en=matrix[0].size();
vector<int>a;
int a0=0;
int b0=en;
int c0=0;
int d0=em;
int e0=0;
while(d0>c0&&b0>a0)
{
for(int i=a0;i<b0&&c0<d0;i++)
{
a.push_back(matrix[c0][i]);
}
c0++;
for(int j=c0;j<d0&&a0<b0;j++)
{
a.push_back(matrix[j][b0-1]);
}
b0--;
for(int i=b0-1;i>=a0&&c0<d0;i--)
{
a.push_back(matrix[d0-1][i]);
}
d0--;
for(int j=d0-1;j>=c0&&b0>a0;j--)
{
a.push_back(matrix[j][a0]);
}
a0++;
}
return a;
}
};
更多推荐



所有评论(0)