定义四个变量代表范围,up、down、left、right
function printMatrix(matrix)
{
var result = [];
if(matrix == null)return result;
var low = 0;
var high = matrix.length-1;
var left = 0;
var right = matrix[0].length-1;
while(low <= high && left <= right){
//向右
for(var i=left; i <= right; i++)
result.push(matrix[low][i]);
//向下
for(var i = low+1; i <= high; i++)
result.push(matrix[i][right]);
//向左 有可能出现特殊的情况只有一列,为了避免重复访问
if(low < high){
for(var i= right-1; i >= left; i--)
result.push(matrix[high][i]);
}
//向上 有可能出现特殊的情况只有一行,为了避免重复访问
if(left < right){
for(var i = high-1; i >= low+1; i--)
result.push(matrix[i][left]);
}
low++;
high--;
left++;
right--;
}
return result;
}