class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
vector <int> x;
if(matrix.empty()) return x;
int top=0;
int rh=matrix[0].size()-1;
int rl=0;
int bot=matrix.size()-1;
while(1)
{
for(int i=rl;i<=rh;i++) x.push_back(matrix[top][i]);
if(++top>bot) break;
for(int j=top;j<=bot;j++) x.push_back(matrix[j][rh]);
if(--rh<rl) break;
for(int k=rh;k>=rl;k--) x.push_back(matrix[bot][k]);
if(--bot<top) break;
for(int s=bot;s>=top;s--) x.push_back(matrix[s][rl]);
if(++rl>rh) break;
}
return x;
}
};
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交