Spiral Matrix
来源:互联网 发布:百家cms微商城 编辑:程序博客网 时间:2024/05/19 16:37
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.
For example,
Given the following matrix:
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]
You should return [1,2,3,6,9,8,7,4,5]
.
class Solution {public: vector<int> spiralOrder(vector<vector<int> > &matrix) { vector<int> res; if (matrix.empty()) return res; int rh = 0; int rb = matrix.size() - 1; int cl = 0; int cr = matrix[0].size() - 1; while (rh <= rb || cl <= cr) { if(rh <= rb) for (int i = cl; i <= cr; i++) res.push_back(matrix[rh][i]); if (cl <= cr) for (int i = rh + 1; i <= rb; i++) res.push_back(matrix[i][cr]); if (rh < rb) for (int i = cr - 1; i >= cl; i--) res.push_back(matrix[rb][i]); if (cl < cr) for (int i = rb - 1; i >= rh + 1; i--) res.push_back(matrix[i][cl]); rh++; rb--; cl++;cr--; } return res; }};
要点在于四个if判断,只有if里条件满足才有遍历的意义
0 0
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- Spiral Matrix
- 断开花流脓的砷斑从头皮到脚
- C++动态声明一维数组与二维数组
- 先验概率、似然函数、后验概率、贝叶斯公式
- MySQL连接出现Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)错误
- Linux网络编程必看书籍--经典权威推荐
- Spiral Matrix
- poj题目分类 很好很有层次感
- Linux/Unix网络编程 epoll和select/poll的对比
- 如何成为CSDN的博客专家?
- CSDN的博客积分计算规则及博客排名规则
- 移植高通prima wlan驱动遇到这些错误log的解决方法
- UNIX网络编程——epoll的 et,lt关注点
- UNIX网络编程之epoll 的accept , read, write(重要)
- Recursion & Dynamic Programming