29:顺时针打印数组

vector printMatrix(vector > matrix) {
     int top=0,down=matrix.size()-1,left=0,right=matrix[0].size()-1;
     vectorans;
     while(left<=right&&top<=down)
     {
         for(int i=left;i<=right;i++)ans.push_back(matrix[top][i]);
         for(int i=top+1;i<=down;i++)ans.push_back(matrix[i][right]);
         for(int i=right-1;i>=left&&down!=top;i--)ans.push_back(matrix[down][i]);
         for(int i=down-1;i>top&&left!=right;i--)ans.push_back(matrix[i][left]);
         top++,down--,left++,right--;
     }
     return ans;
 }
判断条件是为了防止单行或者单列

你可能感兴趣的:(29:顺时针打印数组)