题目链接: LeetCode 118.杨辉三角.
题目解析:
class Solution {
public List<List<Integer>> generate(int numRows) {
//由题目的返回值,先来实例化一个泛型类的List对象,该泛型类的参数类型为List,该对象的模型大致与二维数组相似
List<List<Integer>> ret = new ArrayList<>();
//实例化一个List对象,让他来存储第0行的元素。
List<Integer> one = new ArrayList<>();
//第0行就一个1,将他插入one中
one.add(1);
//将第0行插入到ret当中(ret中的元素类型就是List)
ret.add(one);
for(int i=1;i<numRows;i++){
//实例化一个List对象,让他来存储第1行的元素。
List<Integer> curRow = new ArrayList<>();
//每一行的第一个元素都为1
curRow.add(1);
//拿到上一行的元素
List<Integer> preRow = ret.get(i-1);
for(int j=1;j<i;j++){
int x = preRow.get(j-1)+preRow.get(j);
curRow.add(x);
}
//每一行的最后一个元素都为1
curRow.add(1);
//将每一行都插入ret当中。
ret.add(curRow);
}
return ret;
}
}
}
总体的思路:
- 先利用 List< Integer > 类型的顺序表来存储每一行的元素,此时插入的元素是 int类型的数据
- 然后将每一行add到 List
- >类型的顺序表,此时插入的元素是 顺序表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)