劍指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】順時針列印矩陣矩陣
- 劍指 Offer 29-順時針列印矩陣c++矩陣C++
- 力扣 - 劍指 Offer 29. 順時針列印矩陣力扣矩陣
- 劍指offer-19:順時針列印矩陣矩陣
- 順時針列印矩陣矩陣
- 劍指offer之順序列印陣列陣列
- JZ-019-順時針列印矩陣矩陣
- [每日一題] 第二十一題:順時針列印矩陣每日一題矩陣
- 【劍指offer】調整陣列順序陣列
- 《劍指offer》:[66]矩陣中的路徑矩陣
- 劍指offer面試題12 列印1到最大的n位數面試題
- 劍指offer面試題12:矩陣中的路徑(Java版已在牛客網AC)面試題矩陣Java
- JS實現順時針列印陣列JS陣列
- 劍指offer:JZ12 矩陣中的路徑矩陣
- Python練習-LeetCode 第1篇 順時針列印矩陣PythonLeetCode矩陣
- 劍指offer面試題14 調整陣列順序使奇數位於偶數前面面試題陣列
- 第四章:多維陣列和矩陣 --------------- 4.1 基礎題:順時針列印二維陣列陣列矩陣
- 《劍指offer》:[61]按之字形順序列印二叉樹二叉樹
- 劍指 Offer 12-矩陣中的路徑c++矩陣C++
- 力扣 - 劍指 Offer 12. 矩陣中的路徑力扣矩陣
- 劍指Offer面試題5(Java版):從尾到頭列印連結串列面試題Java
- 劍指 offer(1) -- 陣列篇陣列
- 【劍指Offer學習】【面試題14 :調整陣列順序使奇數位於偶數前面】面試題陣列
- 「劍指offer」27道Mybatis面試題含解析MyBatis面試題
- 用 Go 劍指 Offer 12. 矩陣中的路徑 (DFS + 回溯)Go矩陣
- 劍指offer之列印超過陣列一半的數字陣列
- 劍指offer面試題(41-50)——java實現面試題Java
- GitHub#algorithm#:《劍指offer》 的50道面試題GithubGo面試題
- 【劍指offer】 第三題 二維陣列查詢陣列
- 劍指offer面試題11 數值的整數次方面試題
- 劍指offer 面試題47:不用加減乘除做加法面試題
- 【劍指offer】陣列中的逆序對陣列
- [劍指offer] 把二叉樹列印成多行二叉樹
- 1,2,3…n*n 的數字按照順時針螺旋的形式列印成矩陣(遞迴)矩陣遞迴
- 【劍指Offer】調整陣列順序使奇數位於偶數前面陣列
- 劍指Offer--面試題1:賦值運算子函式面試題賦值函式
- 劍指Offer-37-陣列中逆序對陣列
- 《劍指offer》:[52]構建乘積陣列陣列