class Solution
{
public:
vector<int> boundaryTraversal(vector<vector<int> > matrix, int n, int m)
{
if(n==1){
for(int i=0; i<m; i++)
cout << matrix[0][i] << " ";
}
else if(m==1){
for(int j=0; j<n; j++)
cout << matrix[j][0]<< " ";
}
else{
for(int i=0; i < m; i++)
cout << matrix[0][i] << " ";
for(int i=1; i < n; i++)
cout << matrix[i][m-1] << " ";
for(int i=m-2; i>=0; i--)
cout << matrix[n-1][i] << " ";
for(int i=n-2; i>=0; i--)
cout << matrix[i][0] << " ";
}
}
};
我遇到了细分错误。有人可以告诉我怎么了。当我们只有1行或只有1列矩阵时,我也处理了一些极端情况。