螺旋矩阵
这题比较简单,直接模拟,不用考虑别的。
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
//矩阵直接模拟,设定边界
int r1=0;
int r2=matrix.size()-1;
int c1=0;
int c2=matrix[0].size()-1;
vector<int>result;
while(r1<=r2&&c1<=c2)
{
for(int j=c1;j<=c2;j++)
{
result.push_back(matrix[r1][j]);
}
r1++;
if(r1>r2)
break;
for(int i=r1;i<=r2;i++)
{
result.push_back(matrix[i][c2]);
}
c2--;
if(c2<c1)
break;
for(int j=c2;j>=c1;j--)
{
result.push_back(matrix[r2][j]);
}
r2--;
if(r2<r1)
break;
for(int i=r2;i>=r1;i--)
{
result.push_back(matrix[i][c1]);
}
c1++;
if(c1>c2)
break;
}
return result;
}
};