問題:輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字,例如,如果輸入如下矩陣:1,2,3,4,5,6,7,8,9,則依次輸出1,2,3,6,9,8,7,4,5
思路:利用迴圈,控制迴圈條件即可
具體**如下:(c++)
class solution
public:
vectorprintmatrix(vector> matrix)
vectorres; //由於儲存結果
int startx = 0, endx = columns -1;
int starty = 0, endy = rows -1;
while(startx <= endx && starty <= endy)
if(starty <= endy && startx <=endx)
for(int i = starty; i<=endy; i++)
res.push_back(matrix[i][endx]); //右一列
--endx;
}if(startx <= endx && starty <= endy)
}return res;
}
劍指offer之順時針列印矩陣
定義四個變數代表範圍,up down left right 向右走存入整行的值,當存入後,該行再也不會被遍歷,代表上邊界的 up 加一,同時判斷是否和代表下邊界的 down 交錯 向下走存入整列的值,當存入後,該列再也不會被遍歷,代表右邊界的 right 減一,同時判斷是否和代表左邊界的 left ...
劍指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...