class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
vector<int> res;
if(matrix.empty()) return res;
int t=0,d=matrix.size()-1;
int l=0,r=matrix[0].size()-1;
while(1){
for(int i=l;i<=r;i++){
res.push_back(matrix[t][i]);
}
if(++t>d) break;
for(int i=t;i<=d;i++){
res.push_back(matrix[i][r]);
}
if(--r<l) break;
for(int i=r;i>=l;i--){
res.push_back(matrix[d][i]);
}
if(--d<t) break;
for(int i=d;i>=t;i--) {
res.push_back(matrix[i][l]);
}
if(++l>r) break;
}
return res;
}
};
剑指 Offer 29. 顺时针打印矩阵
最新推荐文章于 2024-11-12 23:33:44 发布