顺时针打印矩阵
2015-05-25 18:14
225 查看
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
例如:
input:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
output:
1 2 3 4
8 12 16 15
14 13 9 5
6 7 11 10
核心代码如下:
例如:
input:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
output:
1 2 3 4
8 12 16 15
14 13 9 5
6 7 11 10
核心代码如下:
vector<int> printMatrix(vector<vector<int> > matrix) { int row = matrix.size() - 1; int col = matrix[0].size() - 1; int total = (row + 1)*(col + 1); int circle = 0; vector<int> ans; int i = 0, j = 0; while(ans.size() < total){ while(j <= col){ ans.push_back(matrix[i][j]); j++; } j--;i++; while(i <= row && ans.size() < total){ ans.push_back(matrix[i][j]); i++; } i--;j--; while(j >= circle && ans.size() < total){ ans.push_back(matrix[i][j]); j--; } j++;i--; while(i >= circle+1 && ans.size() < total){ ans.push_back(matrix[i][j]); i--; } i++;j++; circle++; row--; col--; } return ans; }
相关文章推荐
- 剑指Offer_面试题20_顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- java顺时针、逆时针打印矩阵
- 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8
- 剑指offer--面试题20:顺时针打印矩阵--Java实现
- 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
- 顺时针打印矩阵
- 剑指offer——面试题20:顺时针打印矩阵
- 138 顺时针打印矩阵
- [Jobdu] 题目1391:顺时针打印矩阵
- [遇见时光]剑指offer-顺时针打印矩阵java
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 给定矩阵行数和矩阵列数,顺时针打印矩阵(从0开始)
- 二位数组 顺时针打印矩阵
- 【面试题20】顺时针打印矩阵
- 剑指Offer面试题20:顺时针打印矩阵 Java实现
- 20_顺时针打印矩阵
- 顺时针打印矩阵