劍指 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,5,6,7]
限制:0 <= matrix.length <= 100
0 <= matrix[i].length <= 100
**:
另一種思路:class
solution
return res;
}}
列印外框
判斷左上角的點和右下角的點別錯過去就行
}// int tr 左上角點的行, int tc 左上角點的列, int dr 右下角點的行, int dc 右下角點的列
public
static
void
printedge
(int
m,int tr,
int tc,
int dr,
int dc)
}// 左上角的列和右下角的列在同一列 縱向結構
/*
o |
| o
*/else
if(tc == dc)
}else
while
(curr != dr)
while
(curc != tc)
while
(curr != tr)}}
public
static
void
main
(string[
] args),,
,};spiralorderprint
(matrix);}
}
劍指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 解題過...