劍指offer之順時針列印矩陣

2021-08-17 21:52:07 字數 597 閱讀 1560

問題:輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字,例如,如果輸入如下矩陣: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...