輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。
當我們遇到乙個複雜的問題,可以用圖形來幫助我們思考。
1.我們可以用乙個迴圈來列印矩陣,每一次列印矩陣中的乙個圈。
2.下一步分析迴圈結束的條件。我們可以分析出,讓迴圈繼續的條件是column > startx * 2並且rows > starty * 2。
void printmatrixclockwisely(int **numbers, int columns, int rows)
int start = 0;
while (columns < start * 2 && rows < start * 2)
}void printmatrixcircle(int **numbers, int columns, int rows, int start)
// print one column from top to bottom.
if (start < endy)
}// print one row from right to left.
if (start < endx && start < endy)
}// print one row from right to left.
if (start < endx && start < endy)
}// print one column from bottom to top.
if (start < endx && start < endy - 1)
}}
無 劍指offer 題目20 順時針列印矩陣
輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字,例如,如果輸入如下矩陣 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 題目20 順時針列印矩陣
輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字,例如,如果輸入如下矩陣 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。分析 第一次看到這個題目的時候,覺得...