順時針列印矩陣

2021-08-08 07:28:07 字數 664 閱讀 5812

遞迴地將矩陣走乙個圈即可。

細節需要注意:

(1)方向優先順序:向右,向下,向左,向上,每到乙個合法位置,就從 四個方向中按優先順序選擇乙個方向前進,選中乙個合法方向後,不再選另乙個方向

(2)向上行走時,有可能第乙個方向選為向右,而本來應該保持向上的姿勢,因此需要設定乙個變數儲存當前方向,每次選擇下乙個方向時,先從當前方向開始,而不是先從向右開始。

class solution ,//向右

,//向下

,//向左

};int m, n;

vector

result;

int cur_direct = 0;

vector

printmatrix(vector

> matrix) ;

n = matrix[0].size();

recur_visit(matrix, 0, 0);

return result;

}bool recur_visit(vector

> &matrix, int i, int j)

return

true;

}else

return

false;//出界或者已經訪問時返回false

}};

順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 45 6 7 89 10 11 1213 14 15 16則依次列印出數字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。這個題目 寫的並不好感覺,好多if看著就煩,就是...

順時針列印矩陣

題目 給定乙個矩陣,從外向內順時針列印矩陣中的每乙個數字。例如 給定矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 輸出應該為 分析 這道題的意思非常直觀,給人的感覺也是so easy,然而實際去做的時候會發現,如果結構劃分的不好,會出現很多的迴圈,而且包括對各種...

順時針列印矩陣

from 題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次列印出數字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。網上聽說聽到包括autod...