class Solution {
public:
vector<int> spiralOrder(vector<vector<int> > &matrix) {</int></int>
vector<int> T;
if(matrix.empty())
{
return T;
}
int j = 0;
int i = 0 ;
int top = 0;
int bottom = matrix.size()-1;
int left = 0;
int right = matrix[0].size()-1;
while(T.size() != matrix.size()* matrix[0].size())
{
while(j >=left && j<= right)
{
T.push_back(matrix[i][j]);
if(j == right)
{
top++;
i++;
break;
}else{
j++;
}
}
while( j == right && i >= top && i<= bottom)
{
//T[t] = matrix[i][j];
T.push_back(matrix[i][j]);
if(i == bottom)
{
right--;
j--;
break;
}else{
i++;
}
}
while(i == bottom && j >=left && j<= right)
{
// T[t] = matrix[i][j];
T.push_back(matrix[i][j]);
if(j == left)
{
bottom --;
i--;
break;
}else{
j--;
}
}
while(j == left && i >= top && i<= bottom )
{
//T[t] = matrix[i][j];
T.push_back(matrix[i][j]);
if(i == top)
{
left ++;
j++;
break;
}else{
i--;
}
}
}
return T;
}};



京公网安备 11010502036488号