leetcode54 螺旋矩陣

2021-10-05 03:28:25 字數 967 閱讀 1376

給定乙個包含 m x n 個元素的矩陣(m 行, n 列),請按照順時針螺旋順序,返回矩陣中的所有元素。

可以將當前的矩陣看作是多個圈環環巢狀而成的,第一次列印最外面乙個矩形,第二次列印第二層的矩形…依次列印即可。

首先用4個變數記錄當前列印的圈的左上角和右下角座標,然後根據座標約束,先列印上面一行,再列印右邊一列,再列印下邊一行,最後列印左邊一列。

class

solution

; vector<

int> res;

int row1 =

0, col1 =

0, row2 = matrix.

size()

-1, col2 = matrix[0]

.size()

-1;while

(row1 <= row2 && col1 <= col2)

return res;

}//列印每一圈

void

printcircle

(vectorint>>

& matrix, vector<

int>

& res,

int row1,

int col1,

int row2,

int col2)

if(col1 == col2)

int currow = row1, curcol = col1;

//從左到右列印上面一行

while

(curcol < col2)

//從上到下列印右面一列

while

(currow < row2)

//從右到左列印下面一行

while

(curcol > col1)

//從下到上列印左面一列

while

(currow > row1)}}

;

LeetCode 54 螺旋矩陣

給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11...

leetcode54 螺旋矩陣

給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11...

leetcode 54 螺旋矩陣

給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 思路是 方向陣列 邊界調整 如下 class solution void matain int x,int...