劍指offer 順時針列印矩陣,C 實現

2022-09-17 10:51:13 字數 1021 閱讀 1921

部落格文章索引位址

部落格文章中**的github位址

1.題目

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

2.思路

把矩陣看成由若干個順時針方向的圈組成,迴圈列印矩陣中的每個圈,每次迴圈列印乙個圈。列印一圈通常分為四步,第一步從左到右列印一行;第二步從上到下列印一列;第三步從右到左列印一行;第四步從下到上列印一列。設定四個變數left,right,top,btm,用於表示圈的方位,每一步根據起始座標和終止座標迴圈列印。

注意:最後一圈有可能不需要四步,有可能只有一行,只有一列,只有乙個數字,因此我們要仔細分析列印每一步的前提條件:

劍指offer 順時針列印矩陣

題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 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。分析 第一次看到這個題目的時候,覺得...

劍指offer 順時針列印矩陣

題目描述 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字,例如,如果輸入如下矩陣 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.思路 遞迴列印,處理好邊界就ok...

劍指offer 順時針列印矩陣

題目描述 給定乙個矩陣按照順時針順序從外到內的列印這個矩陣 解題思路 設定乙個全域性的方向向量dir其中的順序是向右,向下,向左,向上 每次給行加上乙個方向向量,當出現越界或者已經列印過的時候重新選擇方向 vectorprintmatrix vector matrix int d 0 int row...