螺旋矩阵顺时针打印
2017-09-01 15:49
183 查看
问题描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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.解法
需要注意四个边界。import java.util.ArrayList; public class Solution { public ArrayList<Integer> printMatrix(int [][] matrix) { ArrayList<Integer> list=new ArrayList<Integer>(); int upper=0; int lower=matrix.length-1; int left=0; int right=matrix[0].length-1; while(true){ for(int i=left;i<=right;i++){ list.add(matrix[upper][i]); } if(++upper>lower) break; for(int i=upper;i<=lower;i++){ list.add(matrix[i][right]); } if(--right<left) break; for(int i=right;i>=left;i--){ list.add(matrix[lower][i]); } if(--lower<upper) break; for(int i=lower;i>=upper;i--){ list.add(matrix[i][left]); } if(++left>right) break; } return list; } }
相关文章推荐
- 螺旋矩阵2——顺时针打印任意大小的矩阵
- 1,2,3…n*n 的数字按照顺时针螺旋的形式打印成矩阵(递归)
- [数组]顺时针打印螺旋矩阵
- 1,2,3…n*n 的数字按照顺时针螺旋的形式打印成矩阵(递归)
- 顺时针打印矩阵或者 螺旋数组
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
- 剑指offer_19_顺时针打印矩阵
- 逆时针顺序的螺旋矩阵打印
- 顺时针螺旋打印数字
- 剑指Offer--19.顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- 剑指offer--顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵