輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字,例如,如果輸入如下矩陣:
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.
思路:關鍵注意①每一圈中四條邊的邊界,要每一次都列印到這一條邊的末尾。右邊的策略是錯的,因為在只有一行一列時每一條邊都判定該元素是下一條邊的,導致錯誤。
②下面的邊和左邊的邊還需要判斷跟上面的邊或右邊的邊是否重複。防止只有一行或者只有一列時出現重複。
vector printmatrix(vectorint> >matrix)return
ans;
}
劍指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.下一步分析迴圈結束的條件。我們可以分析出,讓迴圈繼續的條件是column startx 2並且rows starty 2。...
劍指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。分析 第一次看到這個題目的時候,覺得...