螺旋矩阵
2015-12-05 22:38
267 查看
给定一个包含 m x n 个要素的矩阵,(m 行, n 列),按照螺旋顺序,返回该矩阵中的所有要素。
您在真实的面试中是否遇到过这个题?
Yes
样例
给定如下矩阵:
应返回
您在真实的面试中是否遇到过这个题?
Yes
样例
给定如下矩阵:
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]
应返回
[1,2,3,6,9,8,7,4,5]。
class Solution { public: /** * @param matrix a matrix of m x n elements * @return an integer array */ vector<int> spiralOrder(vector<vector<int>>& matrix) { // Write your code here vector<int> result; int m = matrix.size(); if (m < 1) { return result; } int n = matrix[0].size(); if (n < 1) { return result; } int left = 0; int top = 0; int right = n-1; int bottom = m-1; int total = m*n; int num = 0; int i = 0; int j = 0; while (num < total) { while (j <= right) { result.push_back(matrix[i][j]); j++; num++; } if (num == total) { break; } i++; j = right; top++; while (i <= bottom) { result.push_back(matrix[i][j]); i++; num++; } if (num == total) { break; } i = bottom; j--; right--; while (j >= left) { result.push_back(matrix[i][j]); j--; num++; } if (num == total) { break; } i--; j = left; bottom--; while (i >= top) { result.push_back(matrix[i][j]); i--; num++; } if (num == total) { break; } i = top; j++; left++; } return result; } };
相关文章推荐
- 技术导航
- leetcode|Single Number(136)
- 蓝桥杯 查找整数(循环 判断)
- HibernateTemplate、HibernateDaoSupport两种方法实现增删改查Good
- [LeetCode]Minimum Height Trees
- centos下编译glib Library并安装
- JavaScript跨域
- 轻松学习JavaScript十一:JavaScript基本类型(包含类型转换)和引用类型
- 用相对定位进行布局。
- c++中多参数
- 八大排序算法分析-插入排序
- 图的存储结构
- hdoj the Sum of Cube 5053 (简单数学)
- [译]Android音频: 如何使用AudioTrack播放一个WAV格式文件?
- 去除搜狐广告
- Swift工程下使用OC版本的MKNetworkKit
- CTP训练营之牛刀小试
- 启动一个倒计时器
- C语言程序设计整理(1)
- C语言之结构体