劍指offer面試題29:順時針列印矩陣
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
if(matrix.empty() || matrix[0].size() == 0) return vector<int>();
vector<int> res;
int rows=matrix.size();
int cols=matrix[0].size();
int left=0;
int top=0;
int bottom=rows-1;
int right=cols-1;
while(1) {
for(int i=left;i<=right;i++) res.push_back(matrix[top][i]);
if(++top>bottom) break;
for(int i=top;i<=bottom;i++) res.push_back(matrix[i][right]);
if(--right<left) break;
for(int i=right;i>=left;i--) res.push_back(matrix[bottom][i]);
if(--bottom<top) break;
for(int i=bottom;i>=top;i--) res.push_back(matrix[i][left]);
if(++left>right) break;
}
return res;
}
};
相關文章
- 力扣 - 劍指 Offer 29. 順時針列印矩陣力扣矩陣
- 劍指 Offer 29-順時針列印矩陣c++矩陣C++
- 劍指offer-19:順時針列印矩陣矩陣
- 劍指offer之順序列印陣列陣列
- JZ-019-順時針列印矩陣矩陣
- [每日一題] 第二十一題:順時針列印矩陣每日一題矩陣
- Python練習-LeetCode 第1篇 順時針列印矩陣PythonLeetCode矩陣
- 劍指offer面試題12:矩陣中的路徑(Java版已在牛客網AC)面試題矩陣Java
- 六、劍指 Offer(25~29)
- 第四章:多維陣列和矩陣 --------------- 4.1 基礎題:順時針列印二維陣列陣列矩陣
- 「劍指offer」27道Mybatis面試題含解析MyBatis面試題
- 劍指offer:JZ12 矩陣中的路徑矩陣
- 劍指 Offer 12-矩陣中的路徑c++矩陣C++
- 力扣 - 劍指 Offer 12. 矩陣中的路徑力扣矩陣
- GitHub#algorithm#:《劍指offer》 的50道面試題GithubGo面試題
- 劍指offer面試題(41-50)——java實現面試題Java
- 劍指Offer 撲克牌順子
- 劍指 offer(1) -- 陣列篇陣列
- 用 Go 劍指 Offer 12. 矩陣中的路徑 (DFS + 回溯)Go矩陣
- 劍指Offer--面試題1:賦值運算子函式面試題賦值函式
- 劍指offer之列印超過陣列一半的數字陣列
- 劍指Offer題解合集
- 劍指offer面試題11:旋轉陣列的最小數字(Java版已在牛客網AC)面試題陣列Java
- [劍指offer] 把二叉樹列印成多行二叉樹
- 劍指offer第41~50題
- 劍指offer刷題記錄
- 劍指OFFER
- 【劍指Offer】調整陣列順序使奇數位於偶數前面陣列
- 劍指 offer 第一題: 二維陣列中的查詢陣列
- 劍指offer-例題 連續子陣列的最大和陣列
- 劍指Offer-37-陣列中逆序對陣列
- 劍指OFFER-從頭到尾列印連結串列(Java)Java
- 刷題記錄:劍指offer+遇到的筆試題+LeetCode筆試LeetCode
- 劍指offer刷題day02
- 劍指offer第49題 醜數
- leetcode:面試題 01.08. 零矩陣(陣列,中等)LeetCode面試題矩陣陣列
- 劍指 Offer 32 - I. 從上到下列印二叉樹(java解題)二叉樹Java
- 【劍指offer】5.二叉樹的映象和列印二叉樹