杨辉三角
给定一个非负整数 *numRows,*生成杨辉三角的前 numRows 行。
示例:
输入: 5
输出:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
java
1.遍历法
返回到一个列表中
根据杨辉三角的规则,
每一行的头和尾都是1 , 中间的数则是由上一行的两个位置的数相加得到
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> list = new LinkedList<>();
if(numRows==0){
return list;
}
for(int i = 0;i<numRows;i++){
List<Integer> l1;
if(list.size()==0){
l1 = new LinkedList<>();
l1.add(1);
}else{
l1 = new LinkedList<>();
l1.add(1);
for(int j = 0;j<list.get(i-1).size()-1;j++){
l1.add(list.get(i-1).get(j)+list.get(i-1).get(j+1));
}
l1.add(1);
}
list.add(l1);
}
return list;
}
}
python
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
if numRows==0:
return []
list1 = []
for i in range(0,numRows):
l1 = []
if(i==0):
l1.append(1)
else:
l1.append(1)
for j in range(0,len(list1[i-1])-1):
l1.append(list1[i-1][j]+list1[i-1][j+1])
l1.append(1)
list1.append(l1)
return list1