劍指offer 面試題29 順時針列印矩陣

2021-10-05 13:41:05 字數 1028 閱讀 9743

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。

示例 1:

輸入:matrix = [[1,2,3],[4,5,6],[7,8,9]]

輸出:[1,2,3,6,9,8,7,4,5]

示例 2:

輸入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]

輸出:[1,2,3,4,8,12,11,10,9,5,6,7]

限制:

0 <= matrix.length <= 100

0 <= matrix[i].length <= 100

記錄當前列印的方向,如果這個方向不行:1、越界 2、已經列印過,那麼我們就嘗試著向四個方向走,看看哪個方向是可以走得通。

class

solution

int vis[

105]

[105];

vector<

int>

spiralorder

(vectorint>>

& matrix),,

,};int i =0;

memset

(vis,0,

sizeof

(vis));

int dx =

0, dy =1;

int x =

0, y =0;

vector<

int> ans;

n = matrix.

size()

;if(n!=

0) m = matrix[0]

.size()

;else

return ans;

int cnt = n*m;

while

(cnt--)}

return ans;}}

;/*1 2 3

4 5 6

7 8 9

*/

劍指Offer 面試題29 順時針列印矩陣

面試題29 順時針列印矩陣 題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。從上到下列印一列 if start 從右到左列印一行 if start 從下到上列印一列 if start void printmatrixclockwisely int numbers,int colu...

劍指offer 面試題29 順時針列印矩陣

面試題29.順時針列印矩陣 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。示例 1 輸入 matrix 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 matrix 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,...

劍指 面試題29 順時針列印矩陣

題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。思路 四個迴圈,每次執行前先判斷邊界條件 start y row start x col。總結 c class solution vector int res int col matrix 0 size 1 int row matr...