顺时针打印矩阵

Posted pacino12134

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了顺时针打印矩阵相关的知识,希望对你有一定的参考价值。

技术图片

 1 class Solution 
 2 public:
 3     vector<int> printMatrix(vector<vector<int> > matrix) 
 4         vector<int> result;
 5         if(matrix.empty()) return result;
 6         int rows = matrix.size();
 7         int cols = matrix[0].size();
 8         //定义四个角标
 9         int left = 0;
10         int right = cols-1;
11         int top_row = 0;
12         int end_row = rows-1;
13         while(left<=right && top_row<=end_row)
14             //打印第一行
15             for(int i=left;i<=right;i++) result.push_back(matrix[top_row][i]);
16             //打印右边的列
17             //判断边界,如果只有一行的情况就不push了
18             if(top_row<end_row)
19                 for(int i=top_row+1;i<=end_row;i++) result.push_back(matrix[i][right]);
20             
21             //打印最下面一行
22             //判断边界
23             if(left<right && top_row<end_row)
24                 for(int i=right-1;i>=left;i--) result.push_back(matrix[end_row][i]);
25             
26             //打印左边一列
27             //判断边界
28             if(top_row+1<end_row && left<right)
29                 for(int i=end_row-1;i>=top_row+1;i--) result.push_back(matrix[i][left]);
30             
31             left++;right--;top_row++;end_row--;
32         
33         return result;
34     
35 ;

 

以上是关于顺时针打印矩阵的主要内容,如果未能解决你的问题,请参考以下文章

顺时针打印矩阵

剑指offer面试题 29. 顺时针打印矩阵

剑指offer面试题 29. 顺时针打印矩阵

顺时针打印矩阵-剑指Offer

顺时针打印矩阵

剑指offer:顺时针打印矩阵