劍指 Offer 29 順時針列印矩陣

2022-07-12 03:42:10 字數 413 閱讀 1272

題目:輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。

解法:模擬

思路:寫出4條邊界l、t、r、b,分別代表左上右下四條邊界,當輸出完從左至右的元素時,應把t向下移一行,用於標記剛才的行已被輸出,其他3條邊類似,當l>r或者t>b時結束

**:class solution

int l=0,t=0,r=matrix[0].length-1,b=matrix.length-1;

int ret = new int[(r+1)*(b+1)];

int i;

int j=0;

while(j=l;i--)

b--;

} else

if(t<=b)

l++;

} else

}return ret;}}

劍指offer 29 順時針列印矩陣

分析 每次列印一圈,用start來確定起始列印的點,從0開始,每次增加1,中點是最後列印的乙個點,因此迴圈條件是start2 columns start2 rows,如果用start columns 2 start rows 2會在5 2的時候出錯。列印一圈數字有四個方向 從左到右 從上到下 前提是...

劍指 Offer 29 順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。示例 1 輸入 matrix 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 matrix 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11,10,9...

劍指Offer 29 順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。輸入 matrix 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 輸入 matrix 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11,10,9,5,6,7 解題過...