题目描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
示例
例如,如果输入如下4 X 4矩阵:
[ [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]。
解题思路
本题的难点在于打印一圈数字时,要如何分配到四个方向上面。当时在leetcode上面写这道题,尝试了很多种分配方式,关键在于每运算完一边,就要及时改变边界值,才能在满足结束条件的时候及时退出循环返回结果。详细可以看下面的代码,时间复杂度为O(n^n)=O(m)。
Code
function printMatrix(matrix)
{
// write code here
if(matrix.length==0) return [];
let [l,r,t,b,res]=