class Solution {
public:
vector<int> printMatrix(vector<vector<int> > matrix) {
int top=0;
int left=0;
int right=matrix[0].size()-1;
int buttom=matrix.size()-1;
vector<int> m;
while(left<=right&&top<=buttom)
{
for(int i=left;i<=right;i++)
{
m.push_back(matrix[top][i]);
}
top++;
if(top>buttom)
{
break;
}
for(int i=top;i<=buttom;i++)
{
m.push_back(matrix[i][right]);
}
right--;
if(right<left)
{
break;
}
for(int i = right;i>=left;i--)
{
m.push_back(matrix[buttom][i]);
}
buttom--;
if(buttom<top)
{
break;
}
for(int i=buttom;i>=top;i--)
{
m.push_back(matrix[i][left]);
}
left++;
if(left>right)
{
break;
}
}
return m;
}
};