leetcode Spiral Matrix
来源:互联网 发布:网络第一神豪 编辑:程序博客网 时间:2024/05/29 13:36
原题链接:https://leetcode.com/problems/spiral-matrix/
Description
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) { ans.clear(); if (matrix.empty() || matrix[0].empty()) return ans; n = matrix.size(), m = matrix[0].size(); int x = 0, y = 0, tot = 1; vector<vector<int>> vis(n, vector<int>(m)); ans.push_back(matrix[x][y]), vis[x][y] = true; while (tot < n * m) { while (y + 1 < m && !vis[x][y + 1]) ans.push_back(matrix[x][++y]), vis[x][y] = true, tot++; while (x + 1 < n && !vis[x + 1][y]) ans.push_back(matrix[++x][y]), vis[x][y] = true, tot++; while (y - 1 >= 0 && !vis[x][y - 1]) ans.push_back(matrix[x][--y]), vis[x][y] = true, tot++; while (x - 1 >= 0 && !vis[x - 1][y]) ans.push_back(matrix[--x][y]), vis[x][y] = true, tot++; } return ans; }private: int n, m; vector<int> ans;};
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
- 阅读分词核心代码的 几点感触
- small51 学习定时器的更换
- bzoj3997 组合数学 递推
- 编译C#文件的更多内容
- VC10中的C++0x特性:Lambdas,auto,以及 static_assert
- leetcode Spiral Matrix
- 图片焦点轮播效果
- 牛客网练习知识点笔记——Java基础
- 阿姆斯特朗数
- IOS核心动画
- asp.net 导出excel乱码
- window.close关闭窗口,不弹出系统提示,直接关闭
- VC10中的C++0x特性 part 3 : 声明之类型
- Imageloader的简单配置