剑指offer--顺时针打印矩阵
来源:互联网 发布:比较矩阵元素 编辑:程序博客网 时间:2024/05/29 02:14
题目描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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) { int top = 0; int bottom = matrix.length - 1; int right = matrix[0].length - 1; int left = 0; ArrayList<Integer> list = new ArrayList<>(); while (top <= bottom && left <= right){ for (int i = left; i <= right; i++) list.add(matrix[top][i]); for (int i = top+1; i <= bottom; i++) list.add(matrix[i][right]); for (int i = right-1; i >= left&&top!=bottom; i--) list.add(matrix[bottom][i]); for (int i = bottom -1; i > top&&left!=right; i--) list.add(matrix[i][left]); top++; bottom--; left++; right--; } return list; }}
题意和做法都比较简单,就是要注意最后两个for的时候的边界条件,有可能会重复输出。
阅读全文
0 0
- 【剑指offer】顺时针打印矩阵
- 剑指offer--顺时针打印矩阵
- 剑指offer--顺时针打印矩阵
- 剑指offer 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- 《剑指offer》顺时针打印矩阵
- 剑指offer-顺时针打印矩阵
- 剑指offer 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- 剑指offer-顺时针打印矩阵
- 剑指offer 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- [剑指offer]顺时针打印矩阵
- 《剑指offer》-顺时针打印矩阵
- 【剑指offer】顺时针打印矩阵
- 剑指offer|顺时针打印矩阵
- 《剑指offer》顺时针打印矩阵
- 剑指Offer:顺时针打印矩阵
- React Native 入门(十一)
- 数据结构专题——那些难以理解的数据结构基本概念
- 修改全局线宽
- 程序员必备英语单词册
- 43.Oracle杂记——Oracle常用动态视图v$lock
- 剑指offer--顺时针打印矩阵
- JSP实现分页,动态生成页码,解决页码显示过多问题
- 一个简单的webmagic爬虫 demo
- OpenCV4Android中的图像旋转另一方法
- 44.Oracle杂记——Oracle常用动态视图v$latch_children
- Java学习笔记(8)
- 【POJ
- ViewPager+Fragment出现android.os.TransactionTooLargeException的坑!!!
- 45.Oracle杂记——Oracle常用动态视图v$system_event