首页 > 代码库 > Spiral Matrix
Spiral Matrix
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]
.
只适合方阵的C++实现代码:
vector<int> spiralOrder(vector<vector<int> > &matrix) { if(matrix.empty()||matrix[0].empty()) return vector<int>(); vector<int> ret; int n=matrix.size(); int count=n*n; int i=0; int j=0; while(count) { if(count==1) { ret.push_back(matrix[i][j]); break; } for(; j<n-i-1; j++) { ret.push_back(matrix[i][j]); count--; } for(; i<j; i++) { ret.push_back(matrix[i][j]); count--; } for(; j>n-i-1; j--) { ret.push_back(matrix[i][j]); count--; } for(; i>j; i--) { ret.push_back(matrix[i][j]); count--; } i++; j++; } return ret; }
Spiral Matrix
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。