题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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. i c } m l p a o s r s f } f } t u u F n n F o c c o r g } l l v w } l l i } i } i } i } u 2 p u e e a / h p e e / f / f / f / f n 0 r a t t r 每 i r t t 打 打 打 打 d S i r 次 l i 印 s 印 s 印 e 印 e a o n d r r c s 的 e p s n e e 从 t v w } 从 t v w } 从 n v w } 从 n v w } t l t e o o t 起 r t t n n s a a h s a a h e d a h e d a h i u M n t w l a 点 c i a M d d t r r i t r r i n X r i n Y r i o t a . u s s r 左 o n r a X Y a t l a t l d l d l n i t c r t 上 l t t t r i e p i r i e p i X > i e p i Y > i e p i o r o n = = 角 s M r = = t < n r n t < n r n - = n r n - = n r n n i u = ( a + i - = d i i d - = d i i d > d i i d > d i i d x n n n s > t = x c r > e n n e > e n n e s e n n e s e n n e { C t . [ 0 t r ( o o e e x d t x e x d t x s t x d t x s t x d t x l c 0 a s i 1 _ l w n n e ( e n e ( t a e ( t a e ( o > o ] r t x d d = x n + n d = x n + a r = x n - a r = x n - c u . t a ( n - - X X [ = d Y [ = r t [ = r t [ = k 0 n c , r n : , s < s Y s < i t e > e t e > i w t o s t , 1 1 最 { t = t 1 , { t = n 1 , { n = n 1 , { n n 1 i e u t [ 上 a a 最 a d 最 d d 最 d s d s l n a r [ - - 一 r e r 右 r e e 下 X s Y 左 Y t e e s t r o I 行 t n t 一 t n x 一 t ] 一 a x l e t 2 w n s s d ] 列 d ] 行 - a [ 列 - r ] y ) s t t t X [ + Y [ r i t [ ( { & , ] a a i e 1 t n 1 s _ & ] r r { n 1 { n d { t c , t t d d { e a n r o _ e X x r : o l x ] ] t w s r ] ) ) ] [ s , o ) ) [ w I > s : n t t s a I ] t r n ] a t t ) r ) , t _ { c o 2 l : { I n t , _ s t a r t : I n t ) { 算法思想:先得到矩阵的行和列数,然后依次旋转打印数据,一次旋转打印结束后,往对角分别前进和后退一个单位。 github地址:https://github.com/cubegao/LeetCode