题目:
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
如:
输入矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
依次打印出数字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
思路:
对于这类题,可使用"转圈"的方法从外向内遍历矩阵。
对于遍历到的每一圈,按照从左往右 从上往下 从右往左 从下往上的顺序 输出遍历到的元素。
贴代码:
#include <iostream>
#include <vector>
using namespace std;
vector<int> printMatrix(vector<vector<int> > num)
{
int cols = num[0].size();
int rows = num.size();
int stRow = 0;
int stCol = 0;
int edRow = rows - 1;
int edCol