LeetCode *** 54. Spiral Matrix
来源:互联网 发布:windows ping端口命令 编辑:程序博客网 时间:2024/04/29 22:20
题目:
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.size()<1)return res; int indexi=0,indexj=-1; int n=matrix.size(); int m=matrix[0].size(); int size=m*n; char direction='r'; for(int i=0;i<size;++i){ switch(direction){ case 'r': if((indexj+1)<m&&matrix[indexi][indexj+1]!=0){ indexj++; }else{ indexi++; direction='d'; } break; case 'l': if((indexj-1>=0)&&matrix[indexi][indexj-1]!=0){ indexj--; }else{ indexi--; direction='u'; } break; case 'd': if((indexi+1<n)&&matrix[indexi+1][indexj]!=0){ indexi++; }else{ indexj--; direction='l'; } break; case 'u': if((indexi-1>=0)&&matrix[indexi-1][indexj]!=0){ indexi--; }else{ indexj++; direction='r'; } break; } res.push_back(matrix[indexi][indexj]); matrix[indexi][indexj]=0; } return res; }};
0 0
- LeetCode 54. Spiral Matrix
- [LeetCode]54.Spiral Matrix
- LeetCode --- 54. Spiral Matrix
- [Leetcode] 54. Spiral Matrix
- [leetcode] 54.Spiral Matrix
- Leetcode-54.Spiral Matrix
- **LeetCode 54. Spiral Matrix
- Leetcode 54. Spiral Matrix
- [leetcode] 54. Spiral Matrix
- leetcode 54. Spiral Matrix
- 54. Spiral Matrix LeetCode
- leetcode 54. Spiral Matrix
- LeetCode *** 54. Spiral Matrix
- [LeetCode]54. Spiral Matrix
- LeetCode 54. Spiral Matrix
- LeetCode--54. Spiral Matrix
- LeetCode - 54. Spiral Matrix
- [Leetcode]54. Spiral Matrix
- 拖欠很久的堆
- NodeJS 中模块module查找过程
- Android 如何快速浏览本地 API文档
- android系统设置里的字体大小导致的布局混乱问题
- OC学习日记Day1:程序怎么执行、类和对象
- LeetCode *** 54. Spiral Matrix
- 最新版ffmpeg 提取视频关键帧
- Lua数据类型转换
- 拍照怎么搜题?(下)
- 两个栈实现一个队列
- 学习总结:局部搜索
- Dubbo高级篇_06_Dubbo分布式服务子系统的划分
- 配置禅道可以通过计算机名称访问
- Notification、KVO实现代码