class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
vector<int> ret;
int l=0;//记录是最外面的第几层
int m=matrix.size();
if(m==0)
return ret;
int n=matrix[0].size();
int i,j;
while(l<=m-1-l&&l<=n-1-l)
{
if(m-l-1!=l&&n-l-1!=l)
{
i=l;
for(j=l;j<=n-l-1;j++)
{
ret.push_back(matrix[i][j]);
}
j=n-l-1;
for(i=l+1;i<=m-l-1;i++)
{
ret.push_back(matrix[i][j]);
}
i=m-l-1;
for(j=n-l-2;j>=l;j--)
{
ret.push_back(matrix[i][j]);
}
j=l;
for(i=m-l-2;i>=l+1;i--)
{
ret.push_back(matrix[i][j]);
}
}
else if(l==n-l-1)
{
j=l;
for(i=l;i<=m-l-1;i++)
{
ret.push_back(matrix[i][j]);
}
}
else
{
i=l;
for(j=l;j<=n-l-1;j++)
{
ret.push_back(matrix[i][j]);
}
}
l++;
}
return ret;
}
};
54. Spiral Matrix
最新推荐文章于 2022-07-06 10:23:15 发布