题目:给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。
算法思想:遍历一圈为一个大循环(例如下图:红色圈为一个循环,蓝色一圈也为一个循环【少边也无所谓】)
如图:{注:循环个数以本图为准,具体问题具体分析}每个大循环又包含4(3)个小循环(从左至右,从上到下,从右至左,从下至上的4个for循环)
在设置top bottom left right 四个参数来控制for循环遍历的数组长度(关键)。循环退出条件:top>bottom 或 left>right.
用Java ArrayList方法创建一维数组res,每次遍历时,将数据加到res当中
代码如下:
注:ArrayList方法:ArrayList类是一个可以动态修改的数组。没有固定的大小限制,可以添加和删除元素。
1.引入ArrayList类,并初始化
import Java.util.ArrayList;
ArrayList<E> Name = new ArrayList<>();
E:泛指数据类型。
2.添加元素
Name.add("CSDN");
3.Name.get(0);//访问第一个元素。
其常用的操作下表所示: