剑指offer——面试题20:顺时针打印矩阵
2018-03-17 11:42
465 查看
剑指offer——面试题20:顺时针打印矩阵
书上的思路特别好,学习之~class Solution { public: vector<int> printMatrix(vector<vector<int> > matrix) { vector<int> res; int rows = matrix.size(), cols = matrix[0].size(); if(rows == 0 || cols == 0) return res; int i = 0, j = 0;//循环变量 while(i <= rows-1-i && j <= cols-1-j){ PrintCycle(matrix, res, i, j, rows-1, cols-1); i++; j++; } return res; } void PrintCycle(vector<vector<int> > &matrix, vector<int> &result, int m, int n, int row, int col){ int i = 0, j = 0; for(j=n;j<=col-n;j++) result.push_back(matrix[m][j]); for(i=m+1;i<=row-m;i++) result.push_back(matrix[i][col-n]); for(j=col-n-1;j>=n && m+1<=row-m;j--)//只有row-m行不与m行重合时才往回push_back result.push_back(matrix[row-m][j]); for(i=row-m-1;i>m && col-n-1>=n;i--)//只有n行不与col-n行重合时才往上push_back result.push_back(matrix[i] ); } };
相关文章推荐
- 剑指offer之面试题20:顺时针打印矩阵
- [剑指offer][面试题20]顺时针打印矩阵
- 剑指offer 面试题20—顺时针打印矩阵
- 剑指offer--面试题20:顺时针打印矩阵--Java实现
- 【面试题】剑指offer20--顺时针打印一个矩阵的数字
- 剑指offer_面试题20_顺时针打印矩阵(思路在一步步分解之中)
- 剑指offer-4-面试题20:顺时针打印矩阵(画图使抽象问题形象化)
- 剑指offer-面试题 20:顺时针打印矩阵
- 剑指offer面试题20 顺时针打印矩阵
- 【剑指Offer学习】【面试题20 : 顺时针打印矩阵】
- 剑指offer-面试题20.顺时针打印矩阵
- 剑指offer 面试题20 顺时针打印矩阵
- 【剑指offer】4.2画图让抽象问题形象化——面试题20:顺时针打印矩阵
- Java 剑指offer_面试题20_顺时针打印矩阵(思路在一步步分解之中)
- 剑指Offer----面试题20:顺时针打印矩阵
- 剑指offer-面试题20 顺时针打印矩阵
- 剑指Offer之面试题20:顺时针打印矩阵
- 剑指offer面试题[20]-顺时针打印矩阵
- [剑指offer]面试题20:顺时针打印矩阵
- 剑指Offer:面试题20 顺时针打印矩阵