Leetcode: Spiral Matrix
来源:互联网 发布:淘宝网q币充值 编辑:程序博客网 时间:2024/05/14 02:29
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]
.
不难,需要注意边界case。
class Solution {public: vector<int> spiralOrder(vector<vector<int> > &matrix) { vector<int> result; int rows = matrix.size(); if (rows == 0) return result; int cols = matrix[0].size(); if (cols == 0) return result; int level = min(rows, cols); int i = 0; for (; i < level / 2; ++i) { for (int j = i; j < cols - i - 1; ++j) { result.push_back(matrix[i][j]); } for (int j = i; j < rows - i - 1; ++j) { result.push_back(matrix[j][cols-i-1]); } for (int j = cols - i - 1; j > i; --j) { result.push_back(matrix[rows-i-1][j]); } for (int j = rows - i - 1; j > i; --j) { result.push_back(matrix[j][i]); } } if (level % 2 != 0) { if (rows <= cols) { for (int j = i; j < cols - i; ++j) { result.push_back(matrix[i][j]); } } else { for (int j = i; j < rows - i; ++j) { result.push_back(matrix[j][i]); } } } return result; }};
0 0
- [leetcode]Spiral Matrix&&Spiral Matrix II
- Leetcode:Spiral Matrix与Spiral Matrix II
- LeetCode | Spiral Matrix /Spiral Matrix II
- 【Leetcode】【python】Spiral Matrix/Spiral Matrix II
- LeetCode: Spiral Matrix
- LeetCode: Spiral Matrix II
- LeetCode Spiral Matrix
- LeetCode Spiral Matrix II
- [Leetcode] Spiral Matrix
- [Leetcode] Spiral Matrix II
- LeetCode: Spiral Matrix
- LeetCode : Spiral Matrix II
- [LeetCode] Spiral Matrix II
- [LeetCode] Spiral Matrix
- leetcode 80: Spiral Matrix
- [Leetcode] Spiral Matrix
- [LeetCode]Spiral Matrix
- [LeetCode]Spiral Matrix II
- Android学习之Ubuntu12.04
- 队列简单实现
- Android的数据存储操作—FileOutputStream和FileInputStream的学习
- POJ 1032 / Northeastern Europe 1998 Parliament (贪心)
- Activity 新开进程访问以及传递数据
- Leetcode: Spiral Matrix
- POJ 3617 - Best Cow Line(贪心)
- Win7系统修改hosts文件不能保存的解决方法(转载)
- SSL协议学习
- 第四十九天【java虐我千百遍,我待java如初恋】
- 黑马程序员--java基础学习总结
- Virtualbox中的虚拟机和主机ping通
- ABAP学习笔记
- 冒泡排序(Bubble Sort)原理及Java实现