Spiral Matrix
2015-07-21 21:32
393 查看
class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> r; int row = matrix.size(); if(row == 0 ) return r; int col = matrix[0].size(); if(col == 0) return r; //left->right int i = -1, j =-1; int times = 0; while(1) { i++; j++; if(!(i>= 0 && i< row && j>= 0 && j < col - times)) break; while(j < col - times) { r.push_back(matrix[i][j]); j++; } //top -> bottom i++; j--; if(!(i>=0&& j>= 0 && j < col && i < row - times )) break; while( i < row - times ) { r.push_back(matrix[i][j]); i++; } //right -> left i--; j--; if(!(i >= 0&& i < row && j < col && j >= times)) break; while( j >= times) { r.push_back(matrix[i][j]); j--; } //bottom -> top j++; i--; if(!(i < row && j >=0 && j < col && i > times)) break; while(i > times) { r.push_back(matrix[i][j]); i--; } times++; } return r; } };
相关文章推荐
- 求一堆数中取出2个异或使得异或值大于某个数
- 操作系统简单认识
- [c]HDOJ 1102 prim算法的应用
- Mac安装MySQLdb
- 黑马程序员——Java基础语法二
- linux系统中如何查看日志 (常用命令2)
- HDU 1272 小希的迷宫(并查集)
- mac 下部分文件被隐藏
- Linux kernel 分析之二:main函数执行启动过程
- HDU 1863 简单最短树
- ubuntu下解压缩zip,tar,tar.gz和tar.bz2文件
- JniHelper调用java静态和非静态方法总结(即cocos2dx中调用android平台下显示第三方广告)
- Bike and Walk
- 小珂的编译器
- 华为OJ:统计每个月兔子的总数
- Redis学习笔记---安装
- HDU 4284 Travel (Folyd预处理+dfs暴搜)
- php mysql 数据库写入与读取取文件
- 8种超炫的html5 Loading加载图标动画
- Reverse Linked List II