List练习:杨辉三角
在杨辉三角中,每个数是它左上方和右上方的数的和
力扣连接
class Solution {
//定义一个List里面存放的是List的类型,嵌套
//sublist 是组成杨辉三角的单个的具体的元素
//list 就是整个杨辉三角
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> list = new ArrayList<List<Integer>>();
//两层循环 i 行数 j 列数
for(int i=1;i<=numRows;i++){
List<Integer> sublist = new ArrayList<Integer>();
for(int j=1;j<=i;j++){
//如果i=1并且j=1的时候 或者当i=j时候
//将此处的元素置为1
if(j==1){
sublist.add(1);
}else if(j==i){
sublist.add(1);
}
//除了上面两种的其他情况
else{
//可以将杨辉三角看为一个直角三角形
sublist.add(list.get(i-2).get(j-2)+list.get(i-2).get(j-1));
}
}
list.add(sublist);
}
return list;
}
}