剑指offer--顺时针打印矩阵
来源:互联网 发布:做淘宝售前客服辛苦吗 编辑:程序博客网 时间:2024/06/05 22:42
题目描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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.
AC代码:
import java.util.ArrayList;public class Solution { public ArrayList<Integer> printMatrix(int [][] matrix) { ArrayList<Integer> arr = new ArrayList<>(); int row1 = 0; int row2 = matrix.length; int col1 = 0; int col2 = matrix[0].length; while(true){ //从左到右打印 for(int i = col1 ; i < col2 ; i++){ arr.add(matrix[row1][i]); } row1++; if (row1 >= row2){ break; } //从上到下打印 for(int i = row1 ; i < row2 ; i++){ arr.add(matrix[i][col2-1]); } col2--; if ( col2 <= col1){ break; } //从右到左打印 for(int i = col2-1 ; i >= col1 ; i--){ arr.add(matrix[row2-1][i]); } row2--; if ( row1 >= row2){ break; } //从下到上打印 for(int i = row2-1 ; i >= row1 ; i--){ arr.add(matrix[i][col1]); } col1++; if ( col1 >= col2){ break; } } return arr; }}
1 0
- 【剑指offer】顺时针打印矩阵
- 剑指offer--顺时针打印矩阵
- 剑指offer--顺时针打印矩阵
- 剑指offer 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- 《剑指offer》顺时针打印矩阵
- 剑指offer-顺时针打印矩阵
- 剑指offer 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- 剑指offer-顺时针打印矩阵
- 剑指offer 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- [剑指offer]顺时针打印矩阵
- 《剑指offer》-顺时针打印矩阵
- 【剑指offer】顺时针打印矩阵
- 剑指offer|顺时针打印矩阵
- 《剑指offer》顺时针打印矩阵
- 剑指Offer:顺时针打印矩阵
- 如何开启vmotion功能
- ios 使用运行时规避数组等越界导致程序崩溃
- Android:打造万能通用适配器
- CSS3 边框
- 文章标题
- 剑指offer--顺时针打印矩阵
- java.net 解决ajax跨域访问问题
- adb
- Android lunch分析以及产品分支构建
- 安卓之旅第十站--编辑商品信息
- 上传多张图片
- linux 终端使用
- 【原创】【程序小游戏】Wall-war 墙战
- Node.js之网游服务器实践