题目链接:https://leetcode.cn/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/description/?favorite=xb9nqhhg
代码:
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
if(matrix.size()==0) return {};
vector<int>ans;
int l=0,r=matrix[0].size()-1;
int up=0;
int down=matrix.size()-1;
int k=0;
int num=matrix[0].size()*matrix.size();
while(k<num)
{
for(int j=l;j<=r&&k<num;j++)
{
ans.push_back(matrix[up][j]);
k++;
}
for(int i=up+1;i<=down&&k<num;i++)
{
ans.push_back(matrix[i][r]);
k++;
}
for(int j=r-1;j>=l&&k<num;j--)
{
ans.push_back(matrix[down][j]);
k++;
}
for(int i=down-1;i>up&&k<num;i--)
{
ans.push_back(matrix[i][l]);
k++;
}
l++;
up++;
r--;
down--;
}
return ans;
}
};