基本思路:先考虑边界情况,0则直接输出。由于给的是行数,只需要判断长度等于行数就行,考虑给数列前后补0,然后再相加,就得到了下一行的值,例如第一行是1,前后分别补0,为01与10,相加后就得到了第二行的1 1。代码如下:
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
if numRows==0:
return []
res=[[1]]
while len(res)<numRows:
new=[a+b for a,b in zip([0]+res[-1],res[-1]+[0])]
res.append(new)
return res